Комментарии в первой ветке

#1 3 декабря 2015 в 09:48
По мере развития проекта понимаешь какие существуют недочеты в дальнейшем.
К примеру это компонент комментариев.
А точнее нет пангинации и настройка количества вывода на странице.


Было бы хорошо если существовала возможность вывода последний (10-15) комментариев. А то если на странице уже 500-1000 это не совсем хорошо и удалить это плохой вариант так как все они нужны.

Конечно можно воспользоваться сторонними, но ведь это актуально? чтобы было на Ibstantcms.
#2 3 декабря 2015 в 11:22
Самое интересное начинается, когда 502-ой комментатор решит ответить первому или второму. На какой странице будет этот комментарий и как выстроить дерево?
#3 3 декабря 2015 в 14:20

Было бы хорошо если существовала возможность вывода последний (10-15) комментариев.

Erwin
А одноимённый модуль чем плох?

как выстроить дерево?

HiAndy
А чего его выстраивать, оно и так выстроено.
#4 3 декабря 2015 в 16:13
Какой модуль, если в блоге к примеру 1000 комментариев замучаетесь пролистать и вообще не
#5 3 декабря 2015 в 16:17

А чего его выстраивать, оно и так выстроено.

Lora

Так Erwin, рассказывает именно о случаях, когда в теме обсуждения овер 300 каментов. Во-первых долго грузится эта страница, во-вторых, если каменты разбить на несколько страниц, то на какой странице будет 1001 камент, если он является ответом на первый?
#6 3 декабря 2015 в 20:11

то на какой странице будет 1001 камент, если он является ответом на первый?

HiAndy
Что то я не догоняю, у меня бывает.Если он ответ на первый, то и будет первый в ветке первого.Другое дело если ответов на первый коммент 500, то он естественно будет 501, а как по другому? Если не нравится много страниц можно всё обернуть в overflow:auto; например.Кол-во комментов на странице и вложенность тоже я думаю решается, вроде правкой конфигов.Да возможно это и можно оформить как полагается, но это уже другой вопрос.
#7 3 декабря 2015 в 20:37
Первый не первый это уже другая задача вопрос в другом когда 1000 комментов то попробуйте вниз пролистать страницу
Удалить плохой вариант так как комменты индексируются
#8 3 декабря 2015 в 21:15
Erwin, А чем не устроило решение Нила?
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
#9 3 декабря 2015 в 22:22


Erwin, А чем не устроило решение Нила?

Lora

Всего лишь тем, что оно на 1.10.6 не работает. Если можете поправить буду благодарен только…
#10 4 декабря 2015 в 21:34


Всего лишь тем, что оно на 1.10.6 не работает. Если можете поправить буду благодарен только ....

Erwin
Поправить то можно наверное, но для начала нужно к автору обратиться.Пробовали?
#11 5 декабря 2015 в 00:57

Всего лишь тем, что оно на 1.10.6 не работает.

Erwin

Работает на 1.10.6

Отключите в админке в настройках комментариев "Загружать комментарии, используя ajax".
#12 5 декабря 2015 в 17:57
HiAndy

А можно получить от Вам правку файлов?
#13 5 декабря 2015 в 23:08
Erwin,
Йа, натюрлихь.
Я просто следовал инструкции. Итак правятся всего два файла.
В шапку \templates\_default_\template.php вставляете подключение скрипта и какой-то вспомогательный скрипт. Вот весь файл:

  1. <?php
  2. /******************************************************************************/
  3. // //
  4. // InstantCMS v1.10.7 //
  5. // http://instantcms.ru/ //
  6. // //
  7. // written by InstantCMS Team, 2007-2015 //
  8. // produced by InstantSoft, (www.instantsoft.ru) //
  9. // //
  10. // LICENSED BY GNU/GPL v2 //
  11. // //
  12. /******************************************************************************/
  13. /*
  14.   * Доступны объекты $inCore $inUser $inPage($this) $inConf $inDB
  15.   */
  16.  
  17. // Получаем количество модулей на нужные позиции
  18. $mod_count['top'] = $this->countModules('top');
  19. $mod_count['topmenu'] = $this->countModules('topmenu');
  20. $mod_count['sidebar'] = $this->countModules('sidebar');
  21.  
  22. // подключаем jQuery и js ядра в самое начало
  23. $this->prependHeadJS('core/js/common.js');
  24. $this->prependHeadJS('includes/jquery/jquery.js');
  25.  
  26. // Подключаем стили шаблона
  27. $this->addHeadCSS('templates/'.TEMPLATE.'/css/reset.css');
  28. $this->addHeadCSS('templates/'.TEMPLATE.'/css/text.css');
  29. $this->addHeadCSS('templates/'.TEMPLATE.'/css/960.css');
  30. $this->addHeadCSS('templates/'.TEMPLATE.'/css/styles.css');
  31. // Подключаем colorbox (просмотр фото)
  32. $this->addHeadJS('includes/jquery/colorbox/jquery.colorbox.js');
  33. $this->addHeadCSS('includes/jquery/colorbox/colorbox.css');
  34. $this->addHeadJS('includes/jquery/colorbox/init_colorbox.js');
  35. // LANG фразы для colorbox
  36. $this->addHeadJsLang(array('CBOX_IMAGE','CBOX_FROM','CBOX_PREVIOUS','CBOX_NEXT','CBOX_CLOSE','CBOX_XHR_ERROR','CBOX_IMG_ERROR', 'CBOX_SLIDESHOWSTOP', 'CBOX_SLIDESHOWSTART'));
  37. $this->addHead('<script type="text/javascript">var TEMPLATE = "'.TEMPLATE.'";</script>');
  38.  
  39.  
  40. ?>
  41. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  42. <html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns# video: http://ogp.me/ns/video# music: http://ogp.me/ns/music# ya: http://webmaster.yandex.ru/vocabularies/">
  43.  
  44. <head>
  45. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  46. <meta name="viewport" content="width=device-width">
  47. <?php $this->printHead(); ?>
  48. <?php if($inUser->is_admin){ ?>
  49. <script src="/admin/js/modconfig.js" type="text/javascript"></script>
  50. <link href="/templates/<?php echo TEMPLATE; ?>/css/modconfig.css" rel="stylesheet" type="text/css" />
  51.  
  52. <?php } ?>
  53. <script type="text/jscript" src="/includes/jquery/jquery.quick.pagination.min.js" ></script>
  54. <script type="text/javascript">
  55. $(document).ready(function() {
  56. $("ul.pagination1").quickPagination();
  57. });
  58. </script>
  59.  
  60. </head>
  61.  
  62. <body>
  63. <?php if ($inConf->siteoff && $inUser->is_admin) { ?>
  64. <div style="margin:4px; padding:5px; border:solid 1px red; background:#FFF; position: fixed;opacity: 0.8; z-index:999"><?php echo $_LANG['SITE_IS_DISABLE']; ?></div>
  65. <?php } ?>
  66. <div id="wrapper">
  67.  
  68. <div id="header">
  69. <div class="container_12">
  70. <div class="grid_2">
  71. <div id="sitename"><a href="/"></a></div>
  72. </div>
  73. <div class="grid_10">
  74. <?php if ($inConf->is_change_lang){
  75.  
  76. $langs = cmsCore::getDirsList('/languages'); ?>
  77. <div onclick="$('#langs-select').toggle().toggleClass('active_lang');$(this).toggleClass('active_lang'); return false;" title="<?php echo $_LANG['TEMPLATE_INTERFACE_LANG']; ?>" id="langs" style="background-image: url(/templates/<?php echo TEMPLATE; ?>/images/icons/langs/<?php echo $inConf->lang; ?>.png);">
  78. <span>&#9660;</span>
  79. <ul id="langs-select">
  80. <?php foreach ($langs as $lng) { ?>
  81. <li onclick="setLang('<?php echo $lng; ?>'); return false;" style="background-image: url(/templates/<?php echo TEMPLATE; ?>/images/icons/langs/<?php echo $lng; ?>.png);"><?php echo $lng; ?></li>
  82. <?php } ?>
  83. </ul>
  84. </div>
  85.  
  86. <?php } ?>
  87. <?php $this->printModules('header'); ?>
  88. </div>
  89. </div>
  90. </div>
  91.  
  92. <div id="page">
  93.  
  94. <?php if($mod_count['topmenu']) { ?>
  95. <div class="container_12" id="topmenu">
  96. <div class="grid_12">
  97. <?php $this->printModules('topmenu'); ?>
  98. </div>
  99. </div>
  100. <?php } ?>
  101.  
  102. <?php if ($mod_count['top']){ ?>
  103. <div class="clear"></div>
  104.  
  105. <div id="topwide" class="container_12">
  106. <div class="grid_12" id="topmod"><?php $this->printModules('top'); ?></div>
  107. </div>
  108. <?php } ?>
  109.  
  110. <div id="pathway" class="container_12">
  111. <div class="grid_12"><?php $this->printPathway('&rarr;'); ?></div>
  112. </div>
  113.  
  114. <div class="clear"></div>
  115.  
  116. <div id="mainbody" class="container_12">
  117. <div id="main" class="<?php if ($mod_count['sidebar']) { ?>grid_8<?php } else { ?>grid_12<?php } ?>">
  118. <?php $this->printModules('maintop'); ?>
  119.  
  120. <?php $messages = cmsCore::getSessionMessages(); ?>
  121. <?php if ($messages) { ?>
  122. <div class="sess_messages" id="sess_messages">
  123. <?php foreach($messages as $message){ ?>
  124. <?php echo $message; ?>
  125. <?php } ?>
  126. </div>
  127. <?php } ?>
  128.  
  129. <?php if($this->page_body){ ?>
  130. <div class="component">
  131. <?php $this->printBody(); ?>
  132. </div>
  133. <?php } ?>
  134. <?php $this->printModules('mainbottom'); ?>
  135. </div>
  136. <?php if ($mod_count['sidebar']) { ?>
  137. <div class="grid_4" id="sidebar"><?php $this->printModules('sidebar'); ?></div>
  138. <?php } ?>
  139. </div>
  140.  
  141. </div>
  142.  
  143. </div>
  144.  
  145. <div id="footer">
  146. <div class="container_12">
  147. <div class="grid_8">
  148. <div id="copyright"><?php $this->printSitename(); ?> &copy; <?php echo date('Y'); ?></div>
  149. </div>
  150. <div class="grid_4 foot_right">
  151. <a href="http://instantcms.ru/" title="<?php echo $_LANG['POWERED_BY_INSTANTCMS']; ?>" target="_blank">
  152. <img src="/templates/<?php echo TEMPLATE; ?>/images/b88x31.gif" />
  153. </a>
  154. </div>
  155. </div>
  156. </div>
  157.  
  158. <script type="text/javascript">
  159. $(function(){
  160. $('#sess_messages').hide().fadeIn();
  161. $('#topmenu .menu li, #usermenu li').hover(
  162. function() {
  163. $(this).find('ul:first').fadeIn('fast');
  164. $(this).find('a:first').addClass("hover");
  165. },
  166. function() {
  167. $(this).find('ul:first').hide();
  168. $(this).find('a:first').removeClass("hover");
  169. }
  170. );
  171. });
  172.  
  173. <?php if($inConf->debug && $inUser->is_admin){ cmsPage::includeTemplateFile('special/debug.php'); } ?>
  174. </body>
  175. </html>
Файл \templates\_default_\components\com_comments_list.tpl меняете, как написано в инструкции:



  1.  
  2. <ul class="pagination1">
  3. {if $comments_count}
  4. {foreach key=cid item=comment from=$comments}
  5. {$next=$cid+1}
  6. <a name="c{
#14 6 декабря 2015 в 13:11
Отлично всем спасибо! HiAndy отдельная благодарность, так намного лучше и удобнее стало....
Теперь бы как бы вывести первые последние, чтобы шли. Порядок изменить на убывание.
#15 6 декабря 2015 в 13:24

Порядок изменить на убывание.

Erwin
А как при этом дерево комментариев должно выглядеть? shock
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.