Модуль "Опрос на форуме" - нужна помощь

 
Посетитель
small user social cms
Сообщений: 85
Всем привет. Я тут новичок, поэтому, для начала представлюсь - Слава. А теперь, внимание, вопрос:

Уважаемые знатоки)))

Пытаюсь сделать свой модуль, а так как в php и mysql не рублю ни шиша, то столкнулся с некоторыми трудностями. Суть модуля - выводить какой-либо опрос из тем на форуме. Нужно выводить заголовок опроса, и ответы с количеством голосов (как в модуле "Голосование"), а также с кнопкой "Принять участие", которая просто отправляет пользователя в данную тему. Думаю, не мне одному пригодилось бы.

Вот что я делаю:

Код PHP:
  1.  
  2. $sql = "select * from cms_forum_polls where id=$fpoll_id";
  3. $result = $inDB->query($sql) ;
  4. $fpoll=$inDB->fetch_assoc($result);
  5.  
И теперь я могу в .tpl вывести {$fpoll.title}, {$fpoll.thread_id}, с этим нормально всё. А вот {$fpoll.answers} выводит все ответы со всеми результатами одновременно. И это понятно, ведь они все пишутся в одну и ту же ячейку таблицы. Непонятно вот что:

Как каждому ответу присвоить собственные переменные, например {$fpoll.answertitle} и {$fpoll.answercount} ?

И второй вопрос - хочу потом (когда доделаю с вашей помощью) отдать модуль сообществу. Вроде, он ничего своего в базу писать не будет, можно ли обойтись без инсталлятора?

Заранее спасибо всем откликнувшимся.

upd речь, естественно, про версию кмс 1.10.4
Редактировалось: 1 раз (Последний: 6 октября 2014 в 16:43)
Анонсы шаблонов и дополнений
Посетитель
small user social cms
Сообщений: 85
ап

ибо очень надо

я так понимаю, нужно ещё один запрос, и отлавливать в нём двоеточия и переводы строки... но вот как это сделать - убейте ((
Редактировалось: 1 раз (Последний: 6 октября 2014 в 20:43)
Анонсы шаблонов и дополнений
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 531
Берёшь модуль Голосования (mod_polls), в котором данные хранятся точно таким же образом, и разбираешь его как хочешь!
В частности:
$answers = unserialize($poll['answers']);

$answers_title = array();
$answers_num = array();
$item = 1;
foreach($answers as $key=>$value){
$key = str_replace('"', '"', $key);
$answers_title[$item] = $key;
$answers_num[$item] = $value;
$item++;
}
Посетитель
small user social cms
Сообщений: 85
Ленивый, это где? в /modules/mod_polls/module.php я такого не нашёл

Вот всё, что я смог пока придумать сам. Дальше без подсказки никак. Куда что писать, подскажите, пожалуйста
Код PHP:
  1.  
  2. function mod_forum_poll($module_id, $cfg){
  3. $inDB = cmsDatabase::getInstance();
  4. $fpoll_id = 1;
  5. $sql = "select * from cms_forum_polls where id=$fpoll_id";
  6. $result = $inDB->query($sql) ;
  7. $fpoll=$inDB->fetch_assoc($result);
  8. cmsPage::initTemplate('modules', 'mod_forum_poll')->
  9. assign('fpoll', $fpoll)->
  10. assign('cfg', $cfg)->
  11. display('mod_forum_poll.tpl');
  12. return true;
  13. }
  14.  
Редактировалось: 1 раз (Последний: 6 октября 2014 в 21:24)
Анонсы шаблонов и дополнений
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1676
Вам наверное следует смотреть не всторону
Код PHP:
  1. /modules/mod_polls/module.php
, а в сторону
Код PHP:
  1. components/forum/frontend.php - if ($do=='view_poll'){..
там как раз есть то, что вам надо, если я правильно понял.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.