Magento 1.9.1.0 - Prześlij typ pliku PDF w edytorze Wysiwyg i pokaż ikonę PDF

9

Zrobiłem niestandardowy moduł pozwalający użytkownikowi na przesłanie .PDFtypu pliku do CMS > Pages. Zastosowany kod znajduje się poniżej:

app / etc / modules

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

app / code / local / Pdf / WysiwygFiles / etc / 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>

Działa to CE-1.9i pozwala na przesłanie pliku PDF po kliknięciu przycisku Wstaw obraz i nie pozwala na linkto.

Jak dodać pdf preview icondo każdego przesłanego pliku? Wynik będzie jak na poniższym obrazku

wprowadź opis zdjęcia tutaj

Slimshadddyyy
źródło
Co próbowałeś
Rajeev K Tomy
@ RKT-JoinMageStackDay2015, powyższy kod mówi, co próbowałem.
Slimshadddyyy

Odpowiedzi:

8

Aby umożliwić przesyłanie i linkowanie pliku pdf, zmodyfikowałem plik 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>

Dla ikony możesz użyć stylów css. Dodaj to do swojego arkusza stylów, na przykład: 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;
}

EDYTOWAĆ:

Usunięto tę część:

          <media_allowed>
            <pdf>1</pdf>
          </media_allowed>
mkutyba
źródło
Dziękuję za odpowiedź, ale dzięki mojemu config.xmlnadal mogę wstawiać link, przesyłać pliki pdf i wstawiać je. Jaka jest podstawowa różnica między <media_allowed>i<allowed>
Slimshadddyyy
A skąd mam wiedzieć, czy przesłany typ pliku to .doc/.xls/.pdf?
Slimshadddyyy
Myślę, że @Vikram ma rację, „media_allowed” nie występuje nigdzie w Magento, więc prawdopodobnie nie ma żadnego efektu. Może kiedyś tak było w starych wersjach, ale sprawdziłem wersję 1.4.0.0 i nic nie znalazłem.
clockworkgeek
Wygląda na to, że masz rację, to nie ma wpływu.
mkutyba
To już za mało, patrz np. Stackoverflow.com/q/44387645/719023
Simon
1

Aby przesłać plik pdf na WYSIWYG, wykonaj następujące czynności:

Musimy przesłać pliki pdf za pomocą narzędzia WYSIWYG na Magento. Sprawdziłem natywną funkcjonalność i domyślnie dopuszcza tylko obrazy (jpg, png i gif).

Aby zmienić początkowe zachowanie, otworzyłem plik app / code / core / Mage / Cms / etc / config.xml, który określa typy plików, które można przesłać, a wokół linii 110 dodałem wiersz 1, jak poniżej:

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

Teraz odśwież przeglądarkę i możesz również przesłać plik pfd.

Abhinav Singh
źródło
2
Więc praktycznie edytujesz plik Core, prawda? Co zawsze jest złym pomysłem. W momencie, gdy aktualizacja lub łatka zaktualizuje ten plik, twoje własne aktualizacje zostaną utracone.
Dragos,
0

w celu umożliwienia przesłania pliku pdf należy dodać następujące elementy w pliku config.xml modułu

<adminhtml>
        <cms>
            <browser>
                <extensions>
                    <image_allowed>
                        <pdf>1</pdf>
                    </image_allowed>
                </extensions>
            </browser>
        </cms>
    </adminhtml>
roman204
źródło