23.12.2009 18:38, Matheus Garcia Barbosa de Figueiredo ?????:
I´ve created a template which has a property called "path", which is intended to store a string that represents a path to a file in a network file system. I´d like to show this property inside <file> and </file> tags, which are used by the FileProtocolLinks <http://www.mediawiki.org/wiki/Extension:FileProtocolLinks> extension to create a link using file protocol.

Unfortunatelly, the semantic property is not "resolved", the link is incorrectly created to the literal "[[path::{{{path}}}]]", instead of eg. "c:\whateverdir\foo.txt".

The text in my template is:
<file>[[path::{{{path}}}]]</file>

If I remove the tags the content is show correctly, but I do need to envolve it in the tags to use the extension.

I´m pretty sure it is not a problem with SMW, but with the FileProtocolLinks extension, which seems to be processed first than SMW markup and not parsing it´s contents. I´d like the extension to call the mediawiki parser on it´s contents, but I don't know how to do it yet. The same may occur also with another tag based extensions.
The relevant part of this extension is:

function  renderFileProtocolLink($input)
{
     $exploded  =  explode('|',  $input);
     $uri  =  htmlentities($exploded[0],  ENT_COMPAT,  "UTF-8");

     if  (!isset($exploded[1])  ||  empty($exploded[1]))  {
         // no linktext has been specified ==>  use the URI as linktext
         $linktext  =  $uri;
     }
     else  {
         $linktext  =  htmlentities($exploded[1],  ENT_COMPAT,  "UTF-8");
     }

     return  sprintf('<a style="color:green" href="file:///%s">%s</a>',
         $uri,  *$linktext*);
}
So, do any of you guys cold help me fix this issue? Or at least point me where could I look for that? I´m doing my first steps in developing SMW extensions

Try to use $input = Parser->recursiveTagParse( $input ) The extension should recieve an instance of Parser object upon the hook call.
Dmitriy
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to