Magento 1.9.1.0 - Carregue o tipo de arquivo PDF no Wysiwyg Editor e mostre o ícone PDF


9

Criei um módulo personalizado que permite ao usuário fazer upload .PDFdo tipo de arquivo CMS > Pages. O código usado está abaixo:

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>

Isso funciona CE-1.9e permite fazer upload de arquivo PDF quando você clica no botão Inserir imagem e não permite linkisso.

Além disso, como adicionar um pdf preview iconpara cada arquivo carregado? O resultado seria como abaixo da imagem

insira a descrição da imagem aqui


O que você tentou?
Rajeev K Tomy

@ RKT-JoinMageStackDay2015, o código acima diz o que eu tentei.
21815 Slimshadddyyy #

Respostas:


8

Para permitir o upload e o link do arquivo pdf, modifiquei o seu 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 o ícone, você pode usar estilos css. Adicione isso à sua folha de estilo, por exemplo: 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:

Removida esta parte:

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

Obrigado pela sua resposta, mas com o meu config.xmlainda posso inserir link, fazer upload de arquivo pdf e inseri-lo. Qual é a diferença básica entre <media_allowed>e<allowed>
Slimshadddyyy 16/02

E como sei se o tipo de arquivo enviado é um .doc/.xls/.pdf?
Slimshadddyyy 16/02

Acho que o @Vikram está certo, "media_allowed" não está presente em nenhum lugar do Magento, então provavelmente não tem efeito. Talvez tenha sido usado em versões antigas, mas verifiquei a 1.4.0.0 e não consegui encontrar nada.
clockworkgeek

Parece que você está certo, não tem efeito.
Mkutyba #

Isso não é mais o suficiente, veja, por exemplo, stackoverflow.com/q/44387645/719023
Simon

1

Para fazer upload de arquivo PDF no WYSIWYG, siga as etapas abaixo:

Precisamos fazer upload de arquivos pdf através da ferramenta WYSIWYG no Magento. Verifiquei a funcionalidade nativa e, por padrão, ela permite apenas imagens (jpg, png e gif).

Portanto, para alterar o comportamento inicial, abri o arquivo app / code / core / Mage / Cms / etc / config.xml, que define os tipos de arquivos que podem ser carregados e, na linha 110, adicionei a linha 1 como abaixo:

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

Agora atualize o navegador e você também poderá fazer o upload do arquivo pfd.


2
Então, você está praticamente editando um arquivo Core, certo? O que é sempre uma má ideia. No momento em que uma atualização ou patch atualiza esse arquivo, suas próprias atualizações são perdidas.
Dragos

0

Para permitir o upload de um pdf, você deve adicionar o seguinte em um módulo config.xml

<adminhtml>
        <cms>
            <browser>
                <extensions>
                    <image_allowed>
                        <pdf>1</pdf>
                    </image_allowed>
                </extensions>
            </browser>
        </cms>
    </adminhtml>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.