为什么magento中的wysiwyg插件会让我断开链接?

时间:2013-09-27 01:17:35

标签: image magento media wysiwyg broken-links

当我尝试将图像插入Magento中的wysiwyg编辑器时,它会将图像路径的正确变量放在媒体目录中。

但是,wysigyg没有找到正确的路径/网址,例如:

我插入了:

<p><img src="{{media url="wysiwyg/blog/Screen_Shot_2013.png"}}" alt="" /></p>

但是,在预览中它会让我得到下一个破碎的src:

<img src="https://localhost/index.php/admin/cms_wysiwyg/directive/___directive/e3ttZWRpYSB1cmw9Ii93eXNpd3lnL2Jsb2cvU2NyZWVuX1Nob3RfMjAxMy5wbmcifX0,/key/1a966015551bf00867319d23c9914b48/" alt="" data-mce-src="https://localhost/index.php/admin/cms_wysiwyg/directive/___directive/e3ttZWRpYSB1cmw9Ii93eXNpd3lnL2Jsb2cvU2NyZWVuX1Nob3RfMjAxMy5wbmcifX0,/key/1a966015551bf00867319d23c9914b48/">

当然,它没有显示图像。链接和其他媒体文件也会发生这种情况。

3 个答案:

答案 0 :(得分:3)

系统 - &gt;配置 - &gt;一般 - &gt;内容管理 - &gt;在WYSIWYG for Catalog中使用媒体内容的静态URL为是

答案 1 :(得分:1)

Le Nguyen给出的选择并不是一个好的解决方案。

像hsanders所说:

  

这样做有一些相当大的缺点:静态URL将是一个非安全的URL,如果您更改基本URL,图像上的URL将不会更新,以反映我能立即想到的两个。

&#34;修复&#34;的可能解决方案问题(在我看来不是正确的方式,但至少比静态Url选项更好)是将一些代码添加到以下文件中:

vendor/magento/module-catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php

在第747行添加:

'add_variables' => false,
'add_widgets' => false,
'add_directives' => true,

也改变 lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js并在第384行添加以下内容(content = editor.getContent();下方

content = this.decodeContent(content);

现在您需要执行以下命令来完成该过程:

php bin/magento cache:flush

希望这有帮助。

(请记住,您刚刚编辑了核心文件)

答案 2 :(得分:0)

在您的Form.php中,您的配置应如下所示

    protected function _prepareForm()
      {

     $model = Mage::registry('testimonial_data'); 
      $form = new Varien_Data_Form();
      $this->setForm($form);

      $form->setHtmlIdPrefix('testimonial_');
      $wysiwygConfig = Mage::getSingleton('cms/wysiwyg_config')->getConfig(array('add_variables' => false, 'add_widgets' => false,'files_browser_window_url'=>$this->getBaseUrl().'admin/cms_wysiwyg_images/index/'));

  $fieldset->addField('content', 'editor', array(
          'name'      => 'content',
          'label'     => Mage::helper('testimonials')->__('Content'),
          'title'     => Mage::helper('testimonials')->__('Content'),
          'style'     => 'width:700px; height:500px;',
          'state'     => 'html',
          'config'    => $wysiwygConfig,
          'required'  => true,
      ));
}
希望它对你有用。