Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Модули для DLE » Комментарии в кратком содержании

Комментарии в кратком содержании


     16.05.2019    Модули для DLE    539    16 комментариев

Краткая информация о модуле (хаке)

Автор: ghostwriter (phoenixxxy)
Версия DLE: 13.0+
Контакты: astafiev25dmitry@gmail.com
Цена: Бесплатно
Комментарии в кратком содержании


Установка автоматическая:
Утилиты -> Управление плагинами -> Загрузить плагин -> Выбрать zip файл и загрузить

После чего будут перенесены все файлы модуля и зададутся стандартные настройки:
  • использование своих стилей: выкл
  • направление анимации: вниз
  • время показа: 3s
  • категории: все категории


*файл шаблона будет перенесен в \templates\Default\modules\comments_in_shortnews.tpl
Если вы используете шаблон, папка которого называется иначе, перенесите ее в аналогичную папку.
Туда же перенесется папка comments_in_shortnews с файлом style.css, в котором стили для модуля, которые по желанию можно перенести в ваш файл стилей, для оптимизации. В таком случае включаем Свой CSS в настройках.




Подключать модуль в shortstory.tpl -> {include file="engine/modules/comments_in_shortnews.php"}.

**Качайте лучше с гугл диска, потому что скачивая с гитхаба, файлы модуля не будут в корне архива и нужно будет распаковать, добраться до папки с .xml файлом, добавить его вместе с папками engine и templates в новый .zip архив, и уже его загружать на сайт.

Гугл Диск
Github

Если вам пригодилась моя работа, поддержите рублем, спасибо.
Я.Деньги Донат
5168 7573 4157 0747

16 комментариев

ghostwriter
Юзер

ghostwriter - 16 мая 2019 12:59 -

Картинка в краткой новости - https://ibb.co/ZTshpk3
Первая в полной новости - https://ibb.co/zQNxbTK
Вторая в полной новости - https://ibb.co/Q8fh05b

Картинки с гугл диска это была ошибка. Исправьте пожалуйста.

Апельсин
Юзер

Апельсин - 16 мая 2019 20:23 -

У меня не выводит ничего. Версия DLE 13.2. Не работает даже на дефолтном шаблоне.

UPD Если в новости только один комментарий, то ничего не выводит. Необходимо количество комментариев от двух и больше

ghostwriter
Юзер

ghostwriter - 16 мая 2019 20:43 -

Я посчитал, ради вывода одного комментария, писать отдельно код не стоит.

Апельсин
Юзер

Апельсин - 17 мая 2019 00:48 -


ghostwriter,
Тогда как скрыть блок, если в новости только один комментарий? Было бы лучше, чем отображать пустой блок. А может просто сделать отображение комментария, если он единственный? Возможно такое? Спасибо за модуль, довольно интересный.

На старорй версии движка я реализоваль нечно подобное, но немного иначе.

ghostwriter
Юзер

ghostwriter - 17 мая 2019 17:53 -

Если комментариев меньше двух, ничего и не вставляется.
Для вывода одного комментария в /engine/modules/comments_in_shortnews.php
удалить/закомментировать строчку
if($comments_count['cnt'] < 2) return;
и добавить в конце файла, перед echo
if($comments_count['cnt'] < 2) $script ='';

По идее, можно было бы, дописать в админку возможность выбора между первым и вторым вариантом, но не думаю что это нужно.

dj-avtosh
php-developer

dj-avtosh - 18 мая 2019 03:52 -

Я конечно не проверял, но почитав код, мне показалось, что по несколько запросов будут выполняться в цикле.

Т.е. на 20 новостей на странице выполнится 3*20 запросов = 60, один из них с join'ами.

Может я и ошибаюсь.

telegram: @blob42
skype: elhan.isaev (seldom)

LazyDev
php-developer

LazyDev - 18 мая 2019 04:20 -

dj-avtosh, 80, там 4 запроса...

Мой блог: LazyDev.pro
Если мне не интересен вопрос, не помогаю, и за этим по контактам прошу не писать.

dj-avtosh
php-developer

dj-avtosh - 18 мая 2019 04:27 -

не, ну если 80, то норм))

telegram: @blob42
skype: elhan.isaev (seldom)

ТeraMoune
Юзер

ТeraMoune - 18 мая 2019 05:51 -


Там 3 запроса как минимум убрать можно, а в идеале и сам запрос с джойнами на комментарии тоже в кэш взять как минимум на четверть суток. Но стоит ли оно того ?

В добавок исполнение js кода, странно что автор считает будто у всех библиотека подключается в head. У некоторых все скрипты подключены в конце, в итоге у меня ошибки и комментарии не менялись.

deadluk
Юзер

deadluk - 18 мая 2019 09:57 -

Браузеры рендят страницу сверху вниз, когда видят тег
<script
то рейдинг стопорится и чтобы такого не было, скрипты кидают напоследок. Некоторые сайты в этом нуждаются, например: когда какая-нибудь функция обращается к DOM-элементам сайта и когда эта функция подключена сверху, то у неё будут попытки обратится к элементу, которого ещё нет) На примере с jQuery, решается
$(document).ready()


p.s. кто-нибудь, поправьте редактор

ТeraMoune
Юзер

ТeraMoune - 18 мая 2019 06:44 -

И вот еще только сейчас обратил внимание, два раза глобал делать, а зачем там вообще глобал если переменная и без этого видна. Или всё же нужен ?

dj-avtosh
php-developer

dj-avtosh - 18 мая 2019 14:23 -

Имея ввиду то, что этот скрипт подключается плагином - его можно было делать иначе - без {include} без global и всего одним запросом.

telegram: @blob42
skype: elhan.isaev (seldom)

ghostwriter
Юзер

ghostwriter - 19 мая 2019 09:44 -

Ну за свистоперделки нужно платить ресурсами.
Ну а если серьезно, я не вижу как это можно оптимизировать, я пробовал создавать кеш, но лучше от этого не становилось. Возможно это из-за моего скромного опыта.
p.s. И да, один global $row я там просморкал.

dj-avtosh
php-developer

dj-avtosh - 20 мая 2019 14:54 -

можно запросить комментарии для всего списка через один запрос в котором будут все JOIN + news_id IN (список тех, что на странице) -> на php уже разбивать нужные комменты по новостям.

Т.е. запрос у вас должен быть не внутри цикла, а вне.

telegram: @blob42
skype: elhan.isaev (seldom)

ТeraMoune
Юзер

ТeraMoune - 19 мая 2019 13:29 -

А для чего вообще глобал ? Там вроде оба лишние, скрипты подключенные прекрасно видят объявленные до подключения переменные. А функций в модуле не видно.

Возможно это из-за моего скромного опыта.

Или из за малого количества комментариев и новостей для тестов. (Если нету нагрузки то и лучше оно конечно же не будет, а на норм ресурсе с аудиторией разница хоть какая но будет)

А категории я так понимаю это выборка, ох не сладко придётся людям у кого 200+ категорий и нужно задействовать только в 195 (а я знаю такие есть). Не лучше ли сделать параметр исключающим ?

if(!$row['comm_num']) return ''; Вообще в самое начало 3 строчкой, зачем нам вообще выполнять хоть какой либо код если комментариев совсем нету. Да и зачем через строку после этого делать запрос на подсчитывание комментариев ? Оно же не будет отличаться от числа в той же $row['comm_num'].

AlexPsp
Юзер

AlexPsp - 12 августа 2019 03:34 -

У вас нет исправленного варианта? Поделитесь пожалуйста

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх