Magento 1.9.1.0 - Загрузить PDF Тип файла в Wysiwyg Editor и показать значок PDF


9

Я сделал пользовательский модуль, позволяющий пользователю загружать .PDFтип файла в CMS > Pages. Используемый код ниже:

приложение / и т.д. / модули

<?xml version="1.0"?>
<config>
  <modules>
    <Pdf_WysiwygFiles>
      <active>true</active>
      <codePool>local</codePool>
    </Pdf_WysiwygFiles>
  </modules>
</config>

Приложение / код / ​​местные / Pdf / WysiwygFiles / и т.д. / config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <modules>
    <Pdf_WysiwygFiles>
      <version>1.0.0</version>
    </Pdf_WysiwygFiles>
  </modules>
  <adminhtml>
    <cms>
      <browser>
        <extensions>
          <allowed>
            <jpg>1</jpg>
            <jpeg>1</jpeg>
            <png>1</png>
            <gif>1</gif>
            <pdf>1</pdf>
          </allowed>
        </extensions>
      </browser>
    </cms>
  </adminhtml>
</config>

Это работает CE-1.9и позволяет загружать PDF-файл, когда вы нажимаете кнопку Вставить изображение , и не позволяет linkему.

Кроме того, как добавить pdf preview iconдля каждого загруженного файла? Результат будет как на картинке ниже

введите описание изображения здесь


Что ты пробовал?
Раджив К Томи

@ RKT-JoinMageStackDay2015, приведенный выше код говорит о том, что я пробовал.
Slimshadddyyy

Ответы:


8

Чтобы разрешить загружать и связывать PDF-файл, я изменил ваш config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <modules>
    <Pdf_WysiwygFiles>
      <version>1.0.0</version>
    </Pdf_WysiwygFiles>
  </modules>
  <adminhtml>
    <cms>
      <browser>
        <extensions>
          <allowed>
            <pdf>1</pdf>
          </allowed>
        </extensions>
      </browser>
    </cms>
  </adminhtml>
</config>

Для иконки вы можете использовать стили CSS. Добавьте это в свою таблицу стилей, например: skin / frontend / rwd / default / css / styles.css

.col-main a[href$=".pdf"]:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/icon_pdf.png) no-repeat;
  margin-left: 5px;
}

РЕДАКТИРОВАТЬ:

Удалена эта часть:

          <media_allowed>
            <pdf>1</pdf>
          </media_allowed>

Спасибо за ваш ответ, но с моим config.xmlя все еще могу вставить link, загрузить файл PDF и вставить его. Какая базовая разница между <media_allowed>и<allowed>
Slimshadddyyy

И как я узнаю, что загруженный тип файла - это .doc/.xls/.pdf?
Slimshadddyyy

Я думаю, что @Vikram прав, «media_allowed» не присутствует нигде в Magento, поэтому, вероятно, не имеет никакого эффекта. Может быть, это было в старых версиях, но я проверил до 1.4.0.0 и не смог ничего найти.
часовой механизм

Похоже, вы правы, это не имеет никакого эффекта.
mkutyba

Этого уже недостаточно, см., Например, stackoverflow.com/q/44387645/719023
Simon

1

Для загрузки файла PDF на WYSIWYG выполните следующие действия:

Нам нужно загрузить PDF-файлы с помощью инструмента WYSIWYG в Magento. Я проверил нативную функциональность, и она позволяет по умолчанию только изображения (JPG, PNG и GIF).

Итак, чтобы изменить исходное поведение, я открыл файл app / code / core / Mage / Cms / etc / config.xml, который определяет типы файлов, которые могут быть загружены, и около строки 110 я добавил строку 1, как показано ниже:

<allowed>
<jpg>1</jpg>
<jpeg>1</jpeg>
<png>1</png>
<gif>1</gif>
  <pdf>1</pdf>
</allowed>

Теперь обновите браузер, и вы также можете загрузить файл pfd.


2
Итак, вы практически редактируете файл Core, верно? Что всегда плохая идея. В тот момент, когда обновление или патч обновят этот файл, ваши собственные обновления будут потеряны.
Dragos

0

Для того, чтобы разрешить загрузку в формате pdf, вы должны добавить следующее в config.xml модуля

<adminhtml>
        <cms>
            <browser>
                <extensions>
                    <image_allowed>
                        <pdf>1</pdf>
                    </image_allowed>
                </extensions>
            </browser>
        </cms>
    </adminhtml>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.