Opa Shank,

> Eu queria linkar automaticamente determinados termos, por exemplo,
> sempre que algum texto conter 'Shank', linkar para o meu e-mail, ou
> sempre que tiver 'Adobe', linkar para o site da adobe.

> O Zope possuí algum recurso para isso? Alguém de vocês sabe como fazer?

o Plone já faz algo parecido: quando você faz uma busca, todas as palavras
que estão no documento e que batem com o termo procurado ficam em destaque.

Isso é feito da seguinte forma (em _javascript_):

a) ao terminar de carregar um documento, o browser gera o evento 'onLoad';

b) o objeto 'window' possui um 'event listener' que captura este evento e
ativa todas as funções que nele estão registradas;

c) uma dessas funções é a highlightSearchTermsFromURI (definida no arquivo
CMFPlone/skins/plone_ecmascript/highlightsearchterms.js), que simplesmente
substitui o nodo texto do termo em questão por um novo nodo, contendo uma
tag SPAN com uma classe CSS predefinida (highlightedSearchTerm) que por
sua vez contém o nodo texto original.

Parece complicado, mas não é: o que o código _javascript_ faz é, ao terminar
de carregar o documento no qual uma busca por 'abc' foi feita', substituir
todas as ocorrências de 'abc' que estiverem no corpo do documento por
'<span class="highlightedSearchTerm">busca</span>'. Essa classe CSS é
definida em um dos arquivos .css como tendo um fundo (background-color)
amarelo berrante... :-)

Bem, falei de como o Plone faz para realçar os termos de uma busca, mas a
solução do seu problema é análoga: bastaria criar uma nova função que
procure no corpo do documento pelos termos que você quiser e substitua-os
pelo que for preciso. Ou seja, substituir:

- 'Shank' por '<a href="" PROTECTED]">Shank</a>

- 'Adobe' por '<a href="" href="http://www.adobe.com">http://www.adobe.com">Adobe</a>

Por fim, essa nova função também precisará ser registrada no 'event
listener' do objeto 'window' para o evento 'onLoad'. A última linha do
arquivo 'highlightsearchterms.js' mostra como fazer isso.

Acho que deu para passar a idéa... :-)

HTH,

--

Dorneles Treméa
X3ng Web Technology


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a