You are here: Unregistering output filter method (and solution) « Smarty Templates Posts « IT news, forums, messages
Unregistering output filter method (and solution)

Posted by Marcus Bointon on 10/26/05 04:05

One for the archives.

I register an output filter using a method within a smarty subclass
like this:

$this->register_outputfilter(array($this, 'myoutputfilter'));

Now I wantHow should I unregister a filter that's declared that way
from outside the instance? I initially tried:

$smarty->unregister_outputfilter(array($smarty, 'myoutputfilter'));

(where $smarty is the same instance as $this) but that doesn't work
(it keeps on filtering).

I noticed that the object reference syntax is not shown in the docs
for unregister_outputfilter(), so I though I'd just give it a try
without the object reference syntax within a new method, and it works!

public function disablefilter() {
$this->unregister_outputfilter('myoutputfilter');
}

It would be nice to have this mentioned on the docs for
unregister_outputfilter.

I guess that this may potentially have implications if you also have
global output filters with the same names that you don't want to
unregister, but then if you code like that you deserve it!

Incidentally I think that the bug that was killing my template output
was in this output filter method, as I'm now getting expected output.

Marcus
--
Marcus Bointon
marcus@bointon.com | http://www.bointon.com/

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация