[opencms-dev] rendering external links with attribute target="_blank"

Xavier Ottolini xavier.ottolini at adelis.com
Thu May 19 10:18:23 CEST 2005


Hi Daniel

This wish has already been report into the bug tracking system.
http://www.opencms.org/bugzilla/show_bug.cgi?id=57

Regards,

Wiesner, Daniel a écrit :

> I think the only possible solution is to modify the 
> org.opencms.staticexport.CmsLinkProcessor class. I added  this to 
> processLinkTag(LinkTag linkTag)
>
> if (linkTag.getAttribute("target") == null && !link.isInternal()){
>    linkTag.setAttribute("target","\"_blank\"");
> }
>
> Now all external links without a target attribute will be opened in a 
> new window.
>
> Daniel
>
>
>
>
> /**
>     * Process a link tag.<p>
>     *
>     * @param linkTag the tag to process
>     */
>    protected void processLinkTag() {
>
>        switch (m_mode) {
>
>            case C_PROCESS_LINKS:
>                if (linkTag.getAttribute("href") != null) {
>                    CmsLink link = 
> m_linkTable.getLink(getLinkName(linkTag.getLink()));
>
>                    if (link != null) {
>                        linkTag.setLink(processLink(link));
>                        //if no targetwindow is assigned and the link 
> is external open a new window
>                        if (linkTag.getAttribute("target") == null && 
> !link.isInternal()){
>                            linkTag.setAttribute("target","\"_blank\"");
>                        }
>                    }
>                }
>                break;
>
>            case C_REPLACE_LINKS:
>                if (linkTag.getAttribute("href") != null) {
>                    String targetUri = linkTag.extractLink();
>
>                    if (CmsStringUtil.isNotEmpty(targetUri)) {
>                        String internalUri = 
> CmsLinkManager.getSitePath(m_cms, m_relativePath, targetUri);
>                        if (internalUri != null) {
>                            
> linkTag.setLink(replaceLink(m_linkTable.addLink(linkTag.getTagName(), 
> internalUri, true)));
>                        } else {
>                            
> linkTag.setLink(replaceLink(m_linkTable.addLink(linkTag.getTagName(), 
> targetUri, false)));
>                        }
>                    }
>                }
>                break;
>
>            default:
>                // noop
>                break;
>        }
>    }
>
>
> Wiesner, Daniel schrieb:
>
>> hello,
>>
>> is there any way to tell ocms 6.0 b3 to automatic render links with the
>> atribute internal="false" to
>> <a target="_blank" href="... ?
>>
>>
>> Users don't have a dialog for setting this in pages using the new
>> xml-content feature. But if they paste text containing links - the 
>> target is
>> not set at all and so the browser is using the default "_self".
>>
>> regards
>> Daniel
>>
>>
>>
>> _______________________________________________
>> This mail is send to you from the opencms-dev mailing list
>> To change your list options, or to unsubscribe from the list, please 
>> visit
>> http://mail.opencms.org/mailman/listinfo/opencms-dev
>>  
>>
>
>
> _______________________________________________
> This mail is send to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please 
> visit
> http://mail.opencms.org/mailman/listinfo/opencms-dev




More information about the opencms-dev mailing list