Бесплатный плагин «Постовой»

Плагин позволяет зарабатывать на сайте путем размещения постовых (постовые — вид рекламы в блогах (сайтах), пара строчек в начале или конце топика с ссылкой на рекламируемый сайт).

Зарабатывать можно как на специализированных биржах (Блогун, gogetlinks и проч.), так и путем прямого договора с рекламодателем.


Поднобнее что такое постовой можно посмотреть в поисковиках.

Будет полезен, если в настройках вашего сайта указано использовать ссылки с «noffolow».

Плагин при создании топика выводит дополнительное поле с редактором для добавления постового. Дополнительное поле доступно лишь пользователям, указанным в конфиге плагина.
Все ссылки введенные в данное поле не заключаются в теги noindex/nofollow вне зависимости от настроек сайта.

Для вывода постового в топике в файле topic_topic.tpl в район 35-й строки до вывода содержимого топика, либо после него следует добавить следующий код:
{if !$bTopicList}
                {if $oTopic->getPostovoy()}
                        <div style="padding: 5px 10px; background-color: #F8F8F8; margin: 15px 0;">
                                {$oTopic->getPostovoy()}
                        </div>
                {/if}
        {/if}

В конфиге плагина можно перечислить ID пользователей которым доступно поле заполнения «постового».

Автор идеи и спонсор (: vOFFka , можете также поблагодарить его.



ЛИЦЕНЗИЯ

Плагин распространяется по лицензии Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
Обязательным условием использования плагина является наличие активной ссылки на сайт указаный разработчиком, которая уже прописана в плагине. Отключить ссылку можно за донейт от 5$, обязательно указывать домен.

Если Вам понравился или помог плагин можете отблагодарить меня, или автора идеи любой суммой в каталоге или напрямую:
wm
R111527346489
Z370370411130
E104398793342
U233436054036

яша
41001382110646

21 комментарий

avatar
пара рекомендаций по разработке:
метод isFieldExists в 0.5 уже есть у класса Plugin, т.е. его определять не нужно
в шаблоны лучше добавлять строчку с вызовом хука для плагина, а не сам код шаблона
для добавления поля к топику(особенно когда оно выводится только в конкретном топике, а не в списке топиков) лучше не добавлять поле в БД, а использовать аддишиналдата и цеплять данные к топику при запросах(приер есть в плагине nice url)
в сущностях геттеры и сеттеры можно не прописывать — они автоматом работают, соответственно и наследовать не придется
  • ort
  • +1
avatar
насчет isFieldExists и сущностей спасибо приму на вооружение, а насчет хука не соглашусь, ибо при таком решении возможно организовать вывод поля в списке топиков без n-го количества выполнения хука и переопределения аддишиналдата
avatar
вывод в списке можно сделать и через аддишиналдата, что в списке, что в топике добавляется только один запрос к БД
если делать выбор между новым полей в стандартной таблице у плагина или +1 дополнительный запрос — я склоняюсь к запросу, будет меньше зависимостей, которые могут всплыть при обновлении и т.п.
avatar
соглашусь, звучит убедительно, поправлю
avatar
+)
avatar
При редактировании топика текст из поля пропадает, в чем может быть причина?
avatar
попробуйте заменить
$oTopic->setPostovoy($this->Text_Parser(getRequest('topic_postovoy')));
на
$oTopic->setPostovoy($this->Text_Parser($_POST['topic_postovoy']));
в \plugins\postovoy\classes\hooks\HookPostovoy.class.php
avatar
не помогло.
avatar
нужно тогда смотреть, Ваш код. может с каким то плагином конфликтует, можжет чтото допиливали
avatar
я предполагаю что это плагин автоката.
avatar
При добавлении топика вылетает ошибка:
SQL Error: Field 'topic_postovoy' doesn't have a default value at C:\...\classes\modules\topic\mapper\Topic.mapper.class.php line 59
Array ( [code] => 1364 [message] => Field 'topic_postovoy' doesn't have a default value [query] => INSERT INTO prefix_topic_content (topic_id, topic_text, topic_text_short, topic_text_source, topic_extra ) VALUES(7, 'gdsfgdfgsdfg', 'gdsfgdfgsdfg', 'gdsfgdfgsdfg', 's:0:\"\";' ) [context] => C:\...\classes\modules\topic\mapper\Topic.mapper.class.php line 59 ) 
avatar
установили, теперь не пойму куда в конфиге прописывать тех, кто может пользоваться. В этой строчке $config['access_id'] = array(1);? если да, то что в ней писать?
avatar
ид пользователе которым буде тоступно поле.
например
['access_id'] = array(1,17,2,911);
avatar
Спасибо!
avatar
А есть возможность выводить постовой не только в топике, но и в опросе?
avatar
конечно есть, добаить по аналогу хук в \plugins\postovoy\classes\hooks\HookPostovoy.class.php, но возможно просто раскоментировать
avatar
извините, но если честно, не совсем понял((
avatar
раскомментировали, но при создании опроса выдает ошибку, т.е.вообще не дает возможности создать опрос
avatar
Notice: Use of undefined constant admin — assumed 'admin' in /home/p83313/www/xxxxxx.ru/LiveStreet/plugins/postovoy/config/config.php on line 18

Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id — headers already sent in /home/p83313/www/xxxxxx.ru/LiveStreet/engine/modules/session/Session.class.php on line 73

Warning: session_start() [function.session-start]: Cannot send session cache limiter — headers already sent (output started at /home/p83313/www/xxxxxx.ru/LiveStreet/plugins/postovoy/config/config.php:18) in /home/p83313/www/xxxxxx.ru/LiveStreet/engine/modules/session/Session.class.php on line 76

Ругается, как исправить? Стоят только эти плагины. Шаблон simple Постовой
avatar
При установке на LS 1.0.2 выдает такое:
SQL Error: Table 'ptzportal.topic_postovoy' doesn't exist at /.../engine/modules/database/Database.class.php line 198
Array ( [code] => 1146 [message] => Table 'ptzportal.topic_postovoy' doesn't exist
[query] => SHOW FIELDS FROM `topic_postovoy` [context] =>
/.../engine/modules/database/Database.class.php line 198 )

Может нужно что то сделать перед установкой?
avatar
Импортни дамп ручками.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.