Corri para uma parede tentando renderizar um código de marcação de imagem svg em html a partir de um campo de texto sem formatação.
Eu estou olhando para processar o código svg a partir de um campo de texto simples sem substituir a renderização do campo de texto sem formatação em qualquer outro lugar.
O formato de texto sem formatação atualmente converte todas as tags html e <> para < >
.
Criei um modelo de campo e tentei produzir o conteúdo do campo como
{{ item.content.context.value }}
e
{{ item.content|raw }}
ambos processam o valor como sequência, envolvendo todas as linhas com "aspas" e convertendo quebras de linha em <br/>
tags.
Eu já tinha o texto formatado do tipo de campo, mas isso também envolvia tudo em <pre>
tags, mesmo quando todas as tags eram permitidas. Eu realmente gostaria de fazê-lo funcionar com texto simples.
Exemplo do código svg que o campo deve conter no formato de texto:
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 290 290" enable-background="new 0 0 290 290" xml:space="preserve">
<g>
<path fill="none" stroke="#78C681" stroke-width="3" stroke-miterlimit="10" d="M261.1,273.1H28.9c-6.6,0-12-5.4-12-12V28.9
c0-6.6,5.4-12,12-12h232.1c6.6,0,12,5.4,12,12v232.1C273.1,267.7,267.7,273.1,261.1,273.1z"/>
<circle fill="none" stroke="#1B435D" stroke-width="2" stroke-miterlimit="10" cx="145.2" cy="166.9" r="62.7"/>
<line fill="none" stroke="#78C681" stroke-width="3" stroke-miterlimit="10" x1="16.9" y1="60.8" x2="273.1" y2="60.8"/>
<circle fill="none" stroke="#1B435D" stroke-width="2" stroke-miterlimit="10" cx="178.3" cy="152.3" r="6.8"/>
<path fill="none" stroke="#1B435D" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M115.1,167.9
c8.8,0,22.3,3.2,28.4,4.7"/>
<path fill="none" stroke="#1B435D" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M151.9,216.9
c0,0,17.2-1.5,29.6-14.8"/>
</g>
</svg>
Espero que alguém possa ajudar.
melhor,
Alari
|raw
não desescapa já escapou da marcação. A fuga está acontecendo antes da fuga automática de Twig.Respostas:
Uma solução da iworkyon da comunidade Drupal:
campo - nó - [nome do campo] .html.twig:
THEME.info:
fonte
Você tentou aplicar o filtro não processado no valor?
Mas isso não é seguro. Para gerar arquivos, você pode usar um campo de arquivo. Este possui os formatadores de campo corretos para gerar o link. Se você não conseguir configurar o link na interface do usuário de acordo com suas necessidades, poderá modificar o galho ou o pré-processo para esse campo específico.
fonte
raw
está sendo / foi removido: drupal.org/node/2603074Isso funcionou para mim:
fonte