Не получается добавить свой тег
Хочу добавить свой тег «hide», который будет проверять текущее кол-во комментариев у юзера. Если меньше 10, то показывать, скажем, фигу, в противном случае скрытый текст
Как я понял, тег добавляется внесением изменений в код всего лишь двух файлов:
Что было сделано:
Тег был добавлен в список разрешённых тегов
В конец файла Text.class.php добавил код:
в этом же файле добавил:
На сайте в TinyMCE в html окне редактора вставляю код:
после нажатия обновить он превращается в
Думал что не работает условие и пробовал такой вариант:
Не работает.
Хороших мануалов по добавлению тегов не нашёл. Может где ещё нужно какой код добавить? Всем спасибо.
Как я понял, тег добавляется внесением изменений в код всего лишь двух файлов:
- config/jevix.php
- engine/modules/text/
Что было сделано:
Тег был добавлен в список разрешённых тегов
return array( 'default' => array( // Разрешённые теги 'cfgAllowTags' => array( // вызов метода с параметрами array( array('ls','hide',
В конец файла Text.class.php добавил код:
public function CallbackTagHide($sText) { $iCountCommentUser=$this->Comment_GetCountCommentsByUserId($this->oUserCurrent->getId(),'topic'); if ($iCountCommentUser<=10) { $sText='Не хватает комментариев'; return $sText;} else { $sText=str_replace("<hide>",'<p class="hide"><hide>',$sText); $sText=str_replace("</hide>",'</hide></p>',$sText); return $sText; } }
в этом же файле добавил:
/** * Парсит текст, применяя все парсеры * * @param string $sText Исходный текст * @return string */ public function Parser($sText) { if (!is_string($sText)) { return ''; } $sResult=$this->FlashParamParser($sText); $sResult=$this->JevixParser($sResult); $sResult=$this->VideoParser($sResult); $sResult=$this->CodeSourceParser($sResult); <strong>$sResult=$this->CallbackTagHide($sResult);</strong> return $sResult; }Может и не надо было, но делал по аналогии с code
На сайте в TinyMCE в html окне редактора вставляю код:
<hide>Скрытый текст</hide>
после нажатия обновить он превращается в
<p>Текст</p>
Думал что не работает условие и пробовал такой вариант:
public function CallbackTagHide($sText) { $sText=str_replace("<hide>",'<p><hide>',$sText); $sText=str_replace("</hide>",'</hide></p>',$sText); return $sText; }
Не работает.
Хороших мануалов по добавлению тегов не нашёл. Может где ещё нужно какой код добавить? Всем спасибо.