Magento 1.9.1.0 - Cargue el tipo de archivo PDF en el Editor Wysiwyg y muestre el icono PDF


9

Hice un módulo personalizado que permite al usuario cargar .PDFel tipo de archivo CMS > Pages. El código utilizado es el siguiente:

aplicación / 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>

Esto funciona CE-1.9y permite cargar archivos PDF cuando hace clic en el botón Insertar imagen y no lo permite link.

Además, ¿cómo agregar un pdf preview iconpara cada archivo cargado? El resultado sería como la imagen de abajo

ingrese la descripción de la imagen aquí


¿Qué intentaste?
Rajeev K Tomy

@ RKT-JoinMageStackDay2015, el código anterior dice lo que probé.
Slimshadddyyy

Respuestas:


8

Para permitir cargar y vincular archivos PDF, modifiqué su 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>

Para el icono, puede usar estilos CSS. Agregue esto en su hoja de estilo, por ejemplo: 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;
}

EDITAR:

Se eliminó esta parte:

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

Gracias por su respuesta, pero con mi config.xmltodavía puedo insertar link, cargar el archivo pdf e insertarlo. ¿Cuál es la diferencia base entre <media_allowed>y<allowed>
Slimshadddyyy

¿Y cómo sé si el tipo de archivo cargado es a .doc/.xls/.pdf?
Slimshadddyyy

Creo que @Vikram tiene razón, "media_allowed" no está presente en ninguna parte de Magento, por lo que probablemente no tenga ningún efecto. Tal vez solía hacerlo en versiones anteriores, pero revisé 1.4.0.0 y no pude encontrar nada.
clockworkgeek

Parece que tienes razón, no tiene ningún efecto.
mkutyba

Esto ya no es suficiente, consulte, por ejemplo, stackoverflow.com/q/44387645/719023
Simon

1

Para cargar un archivo pdf en WYSIWYG, siga los pasos a continuación:

Necesitamos cargar archivos pdf a través de la herramienta WYSIWYG en Magento. He comprobado la funcionalidad nativa y solo permite de forma predeterminada imágenes (jpg, png y gif).

Entonces, para cambiar el comportamiento inicial, abrí el archivo app / code / core / Mage / Cms / etc / config.xml, que define los tipos de archivo que se pueden cargar, y alrededor de la línea 110 agregué la línea 1 a continuación:

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

Ahora actualice el navegador y también puede cargar el archivo pfd.


2
Entonces, prácticamente está editando un archivo Core, ¿verdad? Lo cual siempre es una mala idea. En el momento en que una actualización o parche actualice este archivo, sus propias actualizaciones se perderán.
Dragos

0

Para permitir la carga de un PDF, debe agregar lo siguiente en un módulo config.xml

<adminhtml>
        <cms>
            <browser>
                <extensions>
                    <image_allowed>
                        <pdf>1</pdf>
                    </image_allowed>
                </extensions>
            </browser>
        </cms>
    </adminhtml>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.