|
Сервис Комментарии для модуля Pages (для Slaed 2.1 Lite Final)
Благодаря новой версии системы комментарии прикручивать к модулям стало не просто, а очень просто. Разработчикам Слаеда респект, уважуха и реверанс в их сторону! :)
II. Редактируем function/comments.php
5. Во-первых обращать внимание нужно прежде всего на те строки, где идет непосредственно речь про модули. Таких фрагментов три. Редактируем их по аналогии с существующим кодом и вот что получилось
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php
if ($module_name == "Files") { num_page($module_name, $numstories, $numpages, $comnum, "op=view_file&lid=".$cid."&"); } elseif ($module_name == "Links") { num_page($module_name, $numstories, $numpages, $comnum, "op=view_link&lid=".$cid."&"); } elseif ($module_name == "Voting") { num_page($module_name, $numstories, $numpages, $comnum, "op=poll_result&poll_id=".$cid."&"); } elseif ($module_name == "News") { num_page($module_name, $numstories, $numpages, $comnum, "op=article&sid=".$cid."&"); } elseif ($module_name == "Pages") { num_page($module_name, $numstories, $numpages, $comnum, "op=page&pid=".$cid."&"); }
?> |
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <?php
$db->sql_query("INSERT INTO ".$prefix."_comment VALUES (NULL, '$cid', '$module_name', now(), '$postname', '$ip', '$comment')"); if ($module_name == "Files") { update_points(17); $db->sql_query("UPDATE ".$prefix."_files SET totalcomments=totalcomments+1 WHERE lid='$cid'"); Header("Location: index.php?name=$module_name&op=view_file&lid=$cid"); } elseif ($module_name == "Links") { update_points(14); $db->sql_query("UPDATE ".$prefix."_links SET totalcomments=totalcomments+1 WHERE lid='$cid'"); Header("Location: index.php?name=$module_name&op=view_link&lid=$cid"); } elseif ($module_name == "Voting") { update_points(9); $db->sql_query("UPDATE ".$prefix."_survey SET pool_comments=pool_comments+1 WHERE poll_id='$cid'"); Header("Location: index.php?name=$module_name&op=poll_result&poll_id=$cid"); } elseif ($module_name == "News") { update_points(5); $db->sql_query("UPDATE ".$prefix."_stories SET comments=comments+1 WHERE sid='$cid'"); Header("Location: index.php?name=$module_name&op=article&sid=$cid"); } elseif ($module_name == "Pages") { #update_points(5); $db->sql_query("UPDATE ".$prefix."_pages SET totalcomments=totalcomments+1 WHERE pid='$cid'"); Header("Location: index.php?name=$module_name&op=page&pid=$cid"); } } else { include("header.php"); if ($module_name == "Files") { title(""._FILE_LOGO.""); } elseif ($module_name == "Links") { title(""._LINK_LOGO.""); } elseif ($module_name == "Voting") { title(""._SURVEYS_LOGO.""); } elseif ($module_name == "News") { title(""._NEWS.""); } elseif ($module_name == "Pages") { title(""._CONTENT_NAME.""); } warning("".$stop."<br /><br />"._GOBACK."", "", "", 1); include("footer.php");
?> |
Я нарочно буду приводить куски кода побольше, что бы легче было соориентироваться откуда они.
Дата публикации: 31.01.2007 Прочитано: 9654 раз |
|
Всего 1 на 5 страницах по 1 на каждой странице [<<] [ 1 | 2 | 3 | 4 | 5 ] [>>] |
|
Комментарии
Route | | Дата: 30.06.2007 | Комментарий: 23 |
| | Serg_pnz, ты при создание комментариев кое что забыл! Сечас делаю модуль FAQ для пака и тоже прекручиваю комментарии, так вот при удаление директории или самой публикации оставленные комментарии тоже должны удаляться. Т.е на примере FAQ
PHP - Код | 1 2 3 4 5 6 7
| <?php function FaqDel($id, $ok=0) { global $prefix, $db, $admin_file, $question; if($ok == 1) { $db->sql_query("DELETE FROM ".$prefix."_comment WHERE cid='$id' AND modul='FAQ'"); $db->sql_query("DELETE FROM ".$prefix."_faqanswer WHERE id='$id'"); ?> |
Смекаешь? | | Rando | | Дата: 22.06.2007 | Комментарий: 22 |
| | Еще хорошо было б дозволить включать/выключать комментарии с админки. Для этого делаем следующее:
В файле modules/Pages/index.php ищем:
PHP - Код | 1 2 3 4 5 6
| <?php
echo "<a name=\"$pid\"></a>"; ShowComments($pid);
?> |
и за меняем на:
PHP - Код | 1 2 3 4 5 6 7 8
| <?php
if ($commentpages == 1) { echo "<a name=\"$pid\"></a>"; ShowComments($pid); }
?> |
В этой же функции (function page) смотрим список global:
PHP - Код | 1 2 3 4 5
| <?php
global $pagetitle, $hometext, $bodytext, $db, $prefix, $module_name, $admin, $pagecatlink, $pagecatnumlinc, $admin_file, $defis, $datetime;
?> |
и заменяем на:
PHP - Код | 1 2 3 4 5
| <?php
global $pagetitle, $hometext, $bodytext, $db, $prefix, $module_name, $admin, $pagecatlink, $pagecatnumlinc, $admin_file, $defis, $datetime, $commentpages;
?> |
Итак, условие вывода в модуле мы гарантировали, теперь возьмемся за админку.
Открываем файл modules/Pages/admin/index.php и ищем строчку:
PHP - Код | 1 2 3 4 5 6 7 8 9
| <?php
echo "</td></tr><tr><td>"._P_8."</td><td>"; if ($pagecatlink == 1) { echo "<input type='radio' name='xpagecatlink' value='1' checked>"._YES." <input type='radio' name='xpagecatlink' value='0'>"._NO.""; } else { echo "<input type='radio' name='xpagecatlink' value='1'>"._YES." <input type='radio' name='xpagecatlink' value='0' checked>"._NO.""; } ?> |
после неё добавляем следующий код:
PHP - Код | 1 2 3 4 5 6 7 8 9
| <?php
echo "<tr><td>"._P_10."</td><td>"; if ($commentpages == 1) { echo "<input type='radio' name='xcommentpages' value='1' checked>"._YES." <input type='radio' name='xcommentpages' value='0'>"._NO.""; } else { echo "<input type='radio' name='xcommentpages' value='1'>"._YES." <input type='radio' name='xcommentpages' value='0' checked>"._NO.""; } ?> |
Дальше в описании функции function PagesSave заменяем:
PHP - Код | 1 2 3 4
| <?php
function PagesSave($xtablenumhome, $xnewhomenum, $xnumpage, $xpagecatnumlinc, $xcatdescrhome, $xhomesubcat, $xnewhome, $xpagecatlink) { ?> |
на
PHP - Код | 1 2 3 4
| <?php
function PagesSave($xtablenumhome, $xnewhomenum, $xnumpage, $xpagecatnumlinc, $xcatdescrhome, $xhomesubcat, $xnewhome, $xpagecatlink, $xcommentpages) { ?> |
После строки
PHP - Код | 1 2 3 4
| <?php
$content .= "\$pagecatlink = \"$xpagecatlink\";\n"; ?> |
добавляем
PHP - Код | 1 2 3 4
| <?php
$content .= "\$commentpages = \"$xcommentpages\";\n"; ?> |
и в самом конце файла исправляем:
PHP - Код | 1 2 3 4 5 6
| <?php
case "PagesSave": PagesSave($xtablenumhome, $xnewhomenum, $xnumpage, $xpagecatnumlinc, $xcatdescrhome, $xhomesubcat, $xnewhome, $xpagecatlink); break; ?> |
на
PHP - Код | 1 2 3 4 5 6
| <?php
case "PagesSave": PagesSave($xtablenumhome, $xnewhomenum, $xnumpage, $xpagecatnumlinc, $xcatdescrhome, $xhomesubcat, $xnewhome, $xpagecatlink, $xcommentpages); break; ?> |
И последний штрих, в папке modules/Pages/admin/language добавляем в языковые файлы константу:
PHP - Код | 1 2 3 4
| <?php
define("_P_10","Разрешить комментарии к статьям"); ?> |
Все готово, теперь из админки можно влючать/выключать комментарии для модуля Pages. | | Serg_pnz | | | | | Дата: 04.06.2007 | Комментарий: 21 |
| | macar, на шаге II(5) мы сделали запрос, увеличивающий счетчик комментариев для статьи. Код | 1
| $db->sql_query("UPDATE ".$prefix."_pages SET totalcomments=totalcomments+1 WHERE pid='$cid'"); |
Теперь там, где надо доставай из бызы totalcomments и выводи на страницу. Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот | | macar | | Дата: 03.06.2007 | Комментарий: 20 |
| | 2.3 работает, но не мешало бы прикрутить вывод количесива коментариев при предварительном просмотре. | | Despot | | Дата: 27.05.2007 | Комментарий: 19 |
| | Так в чём же может быть проблема? | | Despot | | Дата: 26.05.2007 | Комментарий: 18 |
| | Serg_pnz, да | | Serg_pnz | | | | | Дата: 26.05.2007 | Комментарий: 17 |
| | Despot, ты всё сделал, всё, что на писано на 5-и страницах? Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот | | Despot | | Дата: 26.05.2007 | Комментарий: 16 |
| | Окошко для написания коментов есть,написал,нажал "Разместить коментарий" но комент не добавился( Система 2.2 В чём может быть проблема? | | Privodchik | | Дата: 22.03.2007 | Комментарий: 15 |
| | У меня он на 2.2 отлично пашет
http://ingener.info/index.php -- если кому интересно, там в блоке справа можете посмотреть именно коменты для pages, а можете и свои попробовать добавить - но не флудить ;) | | Serg_pnz | | | | | Дата: 20.03.2007 | Комментарий: 14 |
| | LanKasper, я делал как раз на финальной версии, просто мне то лень писать в заголовке, то забываю, а то место экономлю.
И не рассматривай статью как панацею - попытайся всё же разобраться как и что работает. По большому счету этот хак можно реализовать и на 2.2 Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Всего 33 на 4 страницах по 10 на каждой странице [<<] [ 1 | 2 | 3 | 4 ] [>>] |
|
|
|