Magento 1.9.1.0 - Téléchargez le type de fichier PDF dans l'éditeur Wysiwyg et affichez l'icône PDF

9

J'ai créé un module personnalisé permettant à l'utilisateur de télécharger .PDFle type de fichier dans CMS > Pages. Le code utilisé est ci-dessous:

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>

Cela fonctionne CE-1.9et permet de télécharger un fichier PDF lorsque vous cliquez sur le bouton Insérer une image et ne le permet pas link.

De plus, comment ajouter un pdf preview iconpour chaque fichier téléchargé? Le résultat serait comme ci-dessous l'image

entrez la description de l'image ici

Slimshadddyyy
la source
Qu'as-tu essayé?
Rajeev K Tomy
@ RKT-JoinMageStackDay2015, le code ci-dessus indique ce que j'ai essayé.
Slimshadddyyy

Réponses:

8

Afin de permettre de télécharger et de lier un fichier pdf, j'ai modifié votre 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>

Pour l'icône, vous pouvez utiliser des styles CSS. Ajoutez ceci dans votre feuille de style, par exemple: 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;
}

ÉDITER:

Supprimé cette partie:

          <media_allowed>
            <pdf>1</pdf>
          </media_allowed>
mkutyba
la source
Merci pour votre réponse, mais avec mon config.xmlje peux toujours insérer link, télécharger un fichier pdf et l'insérer. Quelle est la différence de base entre <media_allowed>et<allowed>
Slimshadddyyy
Et comment savoir si le type de fichier téléchargé est un .doc/.xls/.pdf?
Slimshadddyyy
Je pense que @Vikram a raison, "media_allowed" n'est présent nulle part dans Magento et n'a donc probablement aucun effet. Peut-être que c'était le cas dans les anciennes versions mais j'ai vérifié la version 1.4.0.0 et je n'ai rien trouvé.
clockworkgeek
On dirait que tu as raison, cela n'a aucun effet.
mkutyba
Cela ne suffit plus, voir par exemple stackoverflow.com/q/44387645/719023
Simon
1

Pour télécharger un fichier pdf sur WYSIWYG, suivez les étapes ci-dessous:

Nous devons télécharger des fichiers pdf via l'outil WYSIWYG sur Magento. J'ai vérifié la fonctionnalité native et elle n'autorise par défaut que les images (jpg, png et gif).

Donc, pour changer le comportement initial, j'ai ouvert le fichier app / code / core / Mage / Cms / etc / config.xml, qui définit les types de fichiers qui peuvent être téléchargés, et autour de la ligne 110, j'ai ajouté la ligne 1 comme ci-dessous:

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

Maintenant, rafraîchissez le navigateur et vous pouvez également télécharger le fichier pfd.

Abhinav Singh
la source
2
Vous modifiez donc pratiquement un fichier Core, non? Ce qui est toujours une mauvaise idée. Au moment même où une mise à niveau ou un correctif met à jour ce fichier, vos propres mises à jour sont perdues.
Dragos
0

Afin de permettre le téléchargement d'un pdf, vous devez ajouter ce qui suit dans un module config.xml

<adminhtml>
        <cms>
            <browser>
                <extensions>
                    <image_allowed>
                        <pdf>1</pdf>
                    </image_allowed>
                </extensions>
            </browser>
        </cms>
    </adminhtml>
roman204
la source