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í

Slimshadddyyy
fuente
¿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>
mkutyba
fuente
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.

Abhinav Singh
fuente
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>
roman204
fuente