3

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

但是,所见即所得没有找到正确的路径/url,例如:

我插入:

<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/">

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

4

3 回答 3

3

System -> Configuration -> General -> Content Management -> Use Static URLs for Media Content in WYSIWYG for Catalog to Yes

于 2013-10-31T03:15:14.283 回答
2

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

就像hsanders说的:

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

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

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

在第 747 行添加:

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

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

content = this.decodeContent(content);

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

php bin/magento cache:flush

希望这可以帮助。

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

于 2016-12-29T10:14:32.097 回答
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,
      ));
}

希望它对你有用。

于 2013-09-27T04:12:58.707 回答