

redissx
-
Публикации
394 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
73
Сообщения, опубликованные пользователем redissx
-
-
7 часов назад, AlexeyFX сказал:
Здравствуйте.
Добавьте возможность закрепить комментарий, чтобы он выделялся особым цветом, был выше всех комментариев. Таким образом можно показывать пользователям ценный комментарий.
В паблике есть такой модуль, но я не знаю, можно ли его использовать? Ссылка на модульМожно так сделать, если комментариев больше 10 выведет самый популярный.
[if comm_num > "10"] {customcomments newsid="{news-id}" order="rating" limit="1"} [/if]
Или через дополнительное поле указать id="поле"
Вот и всё, фактически и зафиксируете комментарий с нужным ID.
-
Цитата
И чем это привлечёт пользователя?
Меня осенило!)В маин.тпл в конец и неавторизованным пользователям будет показывать сообщение с стилем "информация" и таймером 6 секунд.
[group=5] <script> window.addEventListener('load', ()=> { const uw = sessionStorage.getItem('userwelcome'); if (!uw) DLEalert('Войдите на сайт и вы сможете комментировать, оценивать новости и скачивать файлы', 'Вы не авторизованы', 'info', 6000); sessionStorage.setItem('userwelcome',1); }); </script> [/group]
-
1
-
-
19 минут назад, aleksandrhristich сказал:
Ну так-то я не говорил что плохие шаблоны или страшные и надо срочно менять на другие...
13 минут назад, kamensk сказал:Хорошо. Напишу.
Однако вы не пожалели денег - изменили "фантик" своего сайта. А зачем, если не было никакого смысла в этом...
Хватит нервировать разработчика и засорять тему ? создайте тему рядом и там будем флудить.
-
12 минут назад, Nexux91 сказал:
Понял один момент, не работает только на главной странице, видимо из-за вывода через content, в самой категории выводиться нормально. Возможно ли сделать что бы правило шаблона действовало на всех страницах?
А может наоборот, на главной выводится через custom? У которого указан свой шаблон в тпл. С вероятностью 99%, так и есть. Потому что content используй тот шаблон который указан в админке.
-
55 минут назад, kamensk сказал:
Как говорится - это надо было сделать еще вчера.
А также уже давно требуется морально обновить верстку, функционал пллеров - добавить функций...
Если открыть dlejs.js то мы увидим кучу этих уведомлений. И что главное различного характера. Есть уведомления, что действие выполнено (успех), есть уведомления что действие уже было совершено и отмена повторного действия (предупреждение) и так далее. На мой взгляд, было бы классно помечать различный характер уведомлений различным оформлением и конечно делать это ненавязчиво, не закрывая обзор экрана и не заставляя нажимать кнопку. А вы знали, что человек намного быстрее воспринимает цветовую информацию, чем текстовую?)
Кстати говоря, в пожеланиях к новой версии периодически всплывает пожелание сделать различные оформления в зависимости от характера сообщения для {info} в шаблоне.
-
51 минуту назад, Captain сказал:
И чем это привлечёт пользователя?
1. А разве где-то написано что ставилась задача привлечь пользователя?
2. Если окошко просто информационное, которое о чём-то уведомляет, совсем не обязательно пользователя заставлять нажимать кнопку OK. Посмотрите сайты, так уже давно не делают. Тенденция к тому чтобы пользователя не утруждать лишними кликами. Сравните окошко посередине экрана, который не уберётся пока не нажмёшь кнопку, и сообщение в углу экрана, которое автоматически исчезнет с красивой анимацией.
В админке мы можем редактировать шаблон. При сохранении там не появляется окошко посередине экрана с кнопкой OK, там появляется небольшое сообщение справа вверху. И это хорошо, это удобно. Представьте что пришлось бы каждый раз нажимать кнопку OK при сохранении. Совсем забыл, а ведь когда то так и было. А теперь идём на сайт, при добавлении в закладки появляется окошко где нужно нажать OK чтобы она ушло. Хотя в какой в этом смысл? Пользователю нужно уведомить, а не заставлять нажимать лишние кнопки. Это банально вопрос удобства.
3. Это не только для того чтобы заменить окошки в движке. Это для разработчика, например когда модуль о чём-то уведомляет можно делать разные сообщения. Собственно я для себя это написал и решил поделиться. Недавно сделал плеер, плеер уведомляет о различных действиях, добавить в плейлист, убрать из плейлиста, зациклить трек, перемешать плейлист, трек уже есть в плейлисте - обо всём этом плеер ненавязчиво сообщает пользователю этими тостами с различным оформлением. Вот вам живой пример использования.
Я абсолютно уверен, в какой-нибудь новой версии ДЛЕ что-то типа этого появится. А пока можете пользоваться этим)
-
Данный хак заменяет стандартное информационное окошко DLE на красивый и современный Toast, далее тост. Такие окошки появляются, например, при добавлении в закладки, повторном голосовании. Эти окошки можно вызвать и самому для своих модулей. В DLE используется окно с кнопкой "ок" и требует от юзера клика по кнопке. Тост - это окошко, похожее на пуш уведомление, появляется справа вверху, исчезает само и не требует от юзера дополнительных действий.
Плюсы тоста:
- Делаем только шаблоном, файлы движка не трогаем.
- Есть прогресс бар, когда тост исчезнет. Тост исчезнет сам, но мы можем и принудительно убрать его, кликнув на крестик.
- Можно вызвать сколько угодно тостов одновременно.
- Можно указать оформление тоста (информация, успех, ошибка, предупреждение), время исчезновения, текст и заголовок.
DLE окна, вшитые в файлы движка, по умолчанию умеют стиль "информация" и таймер 5 секунд. Можно изменить поведение по умолчанию, но не можем изменить каждое окно, так как они в файлах движка, а мы их трогать не будем.Зато окна, которые мы вызываем сами, мы можем настраивать как угодно! Давайте посмотрим на результат.
Установка:
1. Скачайте файл. В этом файле весь код тоста, можете изменить html, например иконки. Я использую для иконок набор Font Awesome.
https://webrambo.ru/index.php?do=download&id=23Содержимое этого файла, можете не скачивать, а создать сами
Скрытый текстconst toastDetails = { info: { icon: 'fa-info-circle', classmod: 'toast--info' }, success: { icon: 'fa-check-circle', classmod: 'toast--success' }, warning: { icon: 'fa-exclamation-triangle', classmod: 'toast--warning' }, error: { icon: 'fa-times-circle', classmod: 'toast--error' }, }; const removeToast = (toast)=> { toast.classList.add('toast--is-hiding'); if (toast.timeoutId) clearTimeout(toast.timeoutId); setTimeout( ()=> toast.remove(),600); }; const createToast = (message, title, style, timer)=> { let toasts = document.querySelector('.toasts'); if (!toasts) { toasts = document.createElement('div'); toasts.classList.add('toasts'); document.querySelector('body').appendChild(toasts); }; const { icon,classmod } = toastDetails[style]; const toast = document.createElement('div'); toast.className = `toast ${classmod}`; toast.style.setProperty('--toast-timer',timer+'ms'); toast.innerHTML = ` <div class="toast__icon fas ${icon}"></div> <div class="toast__descr flex-grow-1"> <div class="toast__title">${title}</div> <div class="toast__text">${message}</div> </div> <div class="toast__close fal fa-times" onclick="removeToast(this.parentElement)"></div>`; toasts.appendChild(toast); toast.timeoutId = setTimeout( ()=> removeToast(toast),timer); }; function DLEalert(message, title, style = 'info', timer = 5000){ createToast(message, title, style, timer); };
2. Подключаем этот файл, впишите свой верный путь к файлу, у меня он в папке js шаблона<script src="{THEME}/js/toast.js?v={cache-id}" defer></script>
Подключаем перед</body>
3. В ваш css файл добавить
.flex-grow-1 {flex: 1 1 0; max-width: 100%; min-width: 50px;} .toasts {position: fixed; right: 10px; top: 20px; z-index: 990; display: grid; gap: 20px;} .toast {background-color: #fff; color: #000; border-radius: 6px; overflow: hidden; position: relative; width: 400px; display: flex; align-items: center; gap: 20px; padding: 16px 20px; box-shadow: 0 5px 20px rgba(0,0,0,0.2); --accent: #00a2ff; animation: showToast 0.5s ease forwards; max-width: calc(100vw - 40px);} .toast__icon {font-size: 28px; color: var(--accent);} .toast__title {font-weight: 700;} .toast__text {font-size: 14px;} .toast__close {font-size: 18px; margin: 0 -10px; display: grid; place-items: center; cursor: pointer; opacity: 0.6; width: 40px; height: 40px;} .toast::after {content: ''; width: 100%; height: 3px; background-color: var(--accent); position: absolute; left: 0; bottom: 0; animation: progressToast var(--toast-timer) linear forwards} .toast--success {--accent: #41b92f;} .toast--warning {--accent: #f4bd00;} .toast--error {--accent: #dd3954;} .toast--is-hiding {animation: hideToast 0.5s ease forwards;} @keyframes progressToast { 100% {width: 0} } @keyframes showToast { 0% {transform: translateX(calc(100% + 20px));} 40% {transform: translateX(-5%);} 80% {transform: translateX(0%);} 100% {transform: translateX(-10px);} } @keyframes hideToast { 0% {transform: translateX(-10px);} 40% {transform: translateX(0%);} 80% {transform: translateX(-5%);} 100% {transform: translateX(calc(100% + 20px));} }
Как пользоваться тостами:
Все DLE alert окна уже заменились. Попробуйте проголосовать повторно в любой новости и увидите.Для своих нужд окно вызывается js кодом
DLEalert('Все круто', 'Тестим успех', 'success', 5000);
У нас 4 параметра, первые 2 обязательны. Параметры:
- Текст.
- Заголовок.
- Стиль. Доступны: info, success, error, warning.
- Таймер в милисекундах.Например, вызвать тост можно по клику на кнопку
<a href="#" onclick="DLEalert('Все круто', 'Тестим успех','success');return false;">вызовем с стилем успех</a>
Спасибо за внимание. Источник https://webrambo.ru/220-zamena-okoshka-dlealert-na-tost-toast.html
-
2
-
2
-
3
-
-
16 часов назад, weddaan сказал:
У пользователя начинается истерия, и он начинает комментировать, чтобы вернуть себе галочку или значок!
Когда пользователь вознаграждается за свою активность, он писает от счастья!
Чтоб пользователю было радостно на душе, что он находится там в топе где-то...
Истеричный обписанный, но при этом радостный. Жалко
птичкупользователя ? Админ страшный человек, манипулятор ?1. В profile_popup.tpl нужна возможность вывести логин пользователя в любом месте. Сейчас ставится само только в заголовок окошка.
2. add-favorites, del-favorites надо перевести на data-id как у рейтинга. Надо чтобы сразу обновлялась информация между этими тегами, для этого нужен свой тпл. Чтобы не было доп нагрузки можно просто при заходе на страницу оставить как есть сейчас и проверять тпл лишь при клике.
3. в custom можно ввести параметр subcat по аналогии с catmenu чтобы например
{custom id="1" subcat="only"}
искал по всем подкатегориям категории 1, чтобы не перечислять кучу подктегорий
-
1
-
2
-
-
2 минуты назад, lexxeagle сказал:
пересмотрел уже больше десятка сайтов, у всех разные шаблоны, разные версии движков, очевидно- разные владельцы + этот сайт. У всех типично одинаковые массовые ошибки... не, это не мы виноваты, это шаблоны такие... это
Так и есть, просто владельцы не заполняют эти поля с метатегами и так далее, поэтому они генерируются по определённому шаблону. Возможность заполнения этих полей есть. Если их не заполняют, это же не движок виноват? А если у вас есть какое-то лучшее решение генерации автоматических метатегов, то предложите. Вы привели пример со страницы тегов, давайте конструктивно, какой должен быть там автоматически сгенерированные метатеги?
5 минут назад, lexxeagle сказал:каждому же придет в голову h3 ставить вместо h1... это точно жесть.
Вам уже несколько раз написали что все Н ставится в шаблоне и только там. Движок вообще никакого отношения к этому не имеет. А если вы конкретно имеете в виду сайт dle-news.ru то что там писать и какие ошибки делать это дело конкретно владельцев сайта, а не а не ваше.
Вообще по вашим сообщениям видно что вы совершенно не разобрались в работе с движком. И главное не считаете нужным даже почитать документацию. Вам же несколько раз написали что возможность заполнения метатегов есть для любой страницы, это штатные возможности в админке, А вы всё равно стоите на своём что владельцы там не заполнили и у них что-то не то из-за движка. Присоединяюсь к вопросу, зачем вообще тогда нужны ваши услуги, если нужно чтобы всё сразу было в движке.
-
13.11.2023 в 17:33, skapunker сказал:
значит нужно альтернативное решение, в конце конов - главное конечный результат
смысл в том, чтобы не показывать некоторые блоки если определенный custom пустой
[if] там какой нибудь придумать или еще чего
20.11.2023 в 15:36, LekseyDev сказал:Не знаю, предлагали такое или нет, но хочу предложить полезную фичу с новыми тегами.
Когда пустой custom, особенно если используется в сочетании с days, зачастую оформленный блок под custom остаётся пустой и выделяется лишь заголовок.
Предложение, внести скрытие блока custom в зависимости от содержимого:
для тега custom ввести тег name="mycustom" для задания ему персонального идентификатора, ну а дальше всё просто
[custom=mycustom] оформление блока с custom + custom [/custom]
[not-custom=mycustom] Материалов нет[/not-custom]Палю тему. Есть блок с кастомом
<section class="sect"> <h2 class="sect__title">Популярные</h2> <div class="sect__content">{custom}</div> </section>
кастом обязательно в строку с самим блоком sect__content без всяких переносов строк и без пробелов.
Тогда такой css скроет блок при отсутствии новостей у кастом
.sect:has(.sect__content:empty) {display: none;}
-
4
-
2
-
-
2 часа назад, kamensk сказал:
А зачем автомобилю крылья, если автомобиль является наземным транспортом?
Платформа ДЛЕ - является информационно-новостной платформой. И весь необходимый функционал для этого имеется.
Dle давно перерос просто быть информационно новостной платформой. Много сайтов где активное коммунити, а им это нужно.
-
3
-
-
57 минут назад, celsoft сказал:
Не совсем понятно. Этот тег не будет показывать никакого содержимого если публикаций нет и нечего показывать. Что должно исчезать если ничего нет?
Есть блок с заголовком в котором кастом. Если кастом пустой, нет никаких новостей, то нужно весь этот блок скрыть. Иначе будет просто заголовок без новостей.
Вообще для этой цели сейчас есть css псевдокласс :has , можно им воспользоваться, хотя он пока что не везде поддерживается, но почти везде. Не вижу смысл реализовывать с помощью dle.
-
1 час назад, celsoft сказал:
изменении типа рейтинга старый нужно очистит
Поправка: только если меняем с других рейтингов на звёзды или наоборот с звёзд на другой рейтинг. Рейтинги второго третьего и четвёртого типа обратно совместимы.
-
1
-
-
Про результаты поиска мне кажется другое человек имел в виду. Что результаты поиска должны делиться по категориям. Потому что в каждой категории может быть свой шаблон. Смысл именно в том чтобы разделить результаты с разным видом шаблона, а не использовать одну ленту с одним шаблоном. И этой возможности как раз нет. То есть да, мы можем в ТПл указать разный вид шаблона вручную, но так как шаблоны разные то они в одну ленту просто не встанут, всё будет идти вразнобой. Поэтому и нужно делить результаты по категориям, как например КиноПоиск. Можно конечно сделать с помощью js, но это всё дополнительные манипуляции...
-
1
-
-
4 минуты назад, weddaan сказал:
Если бб редактор, то такую форму можно сделать через шаблон. Другие редакторы наверное тоже можно, но посложнее. Вообще я тоже давно тут просил чтобы сделали какой-то облегчённый редактор лишь основными кнопками по типу ВКонтакте. И чтобы его можно было стилизовать нормально из шаблона.
В остальном поддержу что нужно работать над тем чтобы больше вовлечь пользователей в жизнь сайта, создать крючочки чтобы зацепить его и вернуть обратно. И даже напомнить о себе через почту если вдруг он забыл о сайте. Вот тут бы уведомления пригодились. Поведенческий факторах сейчас очень важен. Facebook на этом и поднялся что дал возможность ставить лайки и все стали друг друга оценивать. Но сейчас одних лайков маловато, это понятно.
-
4
-
-
1 час назад, kamensk сказал:
Интересно только - как владельцы выживают?))
Вот в том и дело, одно дело - это обычный плагин, и совершенно другое комплекс плагинов для интернет-магазина на котором весь сайт построен. Так что именно в случае с интернет-магазином я бы выбрал специальную для этого систему, а не ДЛе мучил.
-
1
-
-
5 часов назад, my-products сказал:
Kylshop
Разработчик похоронил dle и продвигает свою систему. Так что вряд ли у этого модуля есть какое-то будущее, вот так перестанет что-нибудь работать при обновлении и останетесь ни с чем.
-
1
-
-
19.10.2023 в 13:48, Ivan.Sp сказал:
Я был в шоке, когда приобрел лицензию, а в движке нет оповещений куки, и опачки, плати денежку. Лично я много плагинов устанавливал и в итоге всё удалил,
Держите окошко куки бесплатно, добавить в шаблоне в main.tpl внизу перед
</body>
добавить
<style> .mcookie {background-color: #fff; color: #000; border-radius: 10px; overflow: hidden; display: none; width: 100%; box-shadow: 0 10px 30px rgba(0,0,0,0.25); position: fixed; z-index: 10000; right: 30px; bottom: 30px; max-width: 600px;} .mcookie__btns button {appearance: none; -webkit-appearance: none; display: flex; align-items: center; justify-content: center; height: 40px; cursor: pointer; border-radius: 0; font-weight: bold; background: rgba(0,0,0,0.2); color: #000; flex-grow: 1; text-transform: uppercase; font-size: 12px;} .mcookie__btns button.mcookie__yes {background-color: #0dc42c; color: #fff;} .mcookie__btns {display: flex;} .mcookie__text {padding: 30px;} .mcookie__text a {color: #06c; text-decoration: underline;} .mcookie__title {font-weight: bold; font-size: 16px; padding: 30px; padding-bottom: 0; margin-bottom: -25px;} </style> <div class="mcookie"> <div class="mcookie__title">We use cookies</div> <div class="mcookie__text"> Star Wars is an American epic space opera media franchise, centered on a film series created by George Lucas. Star Wars is an American epic <a href="">space opera media franchise</a>, centered on a film series created by George Lucas. </div> <div class="mcookie__btns"> <button class="mcookie__yes">I accept</button> <button class="mcookie__no">I do not accept</button> </div> </div> <script> const mcookie = document.querySelector('.mcookie'), mcookieStatus = localStorage.getItem('mcookie'), mcookieYes = document.querySelector('.mcookie__yes'), mcookieNo = document.querySelector('.mcookie__no'); if ( mcookieStatus != 1 ) { mcookie.style.cssText = 'display: block' }; mcookieYes.onclick = ()=> { localStorage.setItem('mcookie', 1); mcookie.style.cssText = 'display: none' }; mcookieNo.onclick = ()=> { window.location.href="https://www.google.com"; }; </script>
результат
-
1
-
-
50 минут назад, celsoft сказал:
Нигде ничего не лежит и лежать не может в этом вопросе. Ни в новых версиях ни в старых. Вы что то путаете. Ссылки вы прописываете сами в текст новости когда вставляете в нее а не где то что то лежит отдельно. И какая ссылка будет прописана в новость, та и будет.
Вот такой плагин работал, была прямая ссылка вместо ?do=download... при использовании {server-link} в attachment.tpl . Я помню, вы говорили это не очень для безопасности, но суть не в этом, можно было получить прямую ссылку.
У человека сайт с музыкой, думаю ему примерно это и нужно для доп поля загружаемый файл
Скрытый текст<?xml version="1.0" encoding="utf-8"?> <dleplugin> <name>Attach Link</name> <description></description> <icon></icon> <version></version> <dleversion>13.1</dleversion> <versioncompare>greater</versioncompare> <upgradeurl></upgradeurl> <filedelete>0</filedelete> <mysqlinstall><![CDATA[]]></mysqlinstall> <mysqlupgrade><![CDATA[]]></mysqlupgrade> <mysqlenable><![CDATA[]]></mysqlenable> <mysqldisable><![CDATA[]]></mysqldisable> <mysqldelete><![CDATA[]]></mysqldelete> <file name="engine/modules/functions.php"> <operation action="after"> <searchcode><![CDATA[$tpl->set( '{link}', $config['http_home_url']."index.php?do=download&id=".$row['id'].$area_link );]]></searchcode> <replacecode><![CDATA[$tpl->set('{server-link}', $config['http_home_url']. 'uploads/files/' . $row['onserver']);]]></replacecode> </operation> </file> </dleplugin>
-
Прямая ссылка всё-равно где-то лежит. Поэтому можно написать плагин, который будет выводить прямую ссылку. Не знаю как на новых версиях, до появления возможности публичных файлов такой плагин существовал и работал. Так что найдите программиста и всё.
-
33 минуты назад, Lexxs сказал:
Да, есть такой файл styles-support.css, но как браузер устройства будет определять, каким файлом пользоваться?
То есть в этом файле те же стили, что и в styles.css, только уже без переменных? И браузер смарта поймёт, из какого файла читать ?
Прочитайте про supports https://habr.com/ru/articles/178021/ обратите внимание, статья от 2013 года. Если ваш браузер у ТВ это не поддерживает, значит ему ничего не поможет. Ещё раз говорю, я без понятия что выкладывают на этих помойках, в лицензионном шаблоне мы проверяли с человеком когда у него на samsung не работало и когда работал. Больше мне добавить нечего.
-
1 час назад, Lexxs сказал:
Supports - нет такого в этом шаблоне, ни в одном из файлов, не найдено ).
Но есть переменные, которые никак не дублируются, в случае не поддерживания.
В лицензионном есть. А в скачанном может и нет, не проверял что на всех этих помойках выкладывают.
В лицензионном в маин.тпл есть
<link href="{THEME}/css/styles-support.css" type="text/css" rel="stylesheet" media="screen and (min-width: 1220px)"> -
4 часа назад, Lexxs сказал:
этом шаблоне разве есть поддержка смартов по умолчанию ?
Там же переделывать нужно? Либо одно, либо другое?
Изменено 3 часа назад пользователем Lexxs
Есть. Всё уже сделано. Принцип действия такой: если что-то не поддерживается, то это сделано другим прописанным способом. Supports как раз и проверяет поддерживается или нет. И например для переменных (цвет, например) там есть проверка и прописан цвет обычным способом, если это проверка не проходится.
-
15 минут назад, Lexxs сказал:
Однако в ваших шаблонах, с применением root и var(--bg); нет возможности пользовать смарт тв, если только переделать всё на обычный лад, задавая
Сделать можно в любом шаблоне. В одном шаблоне есть, возьмите как пример и посмотрите, HDRezka.
Пожелания для новых версий DataLife Engine
в DataLife Engine (Общие вопросы)
Опубликовано:
Предлагаю
1. для рейтинга нравится и не нравится ввести {ratingscorelikes} (оценка 0-10) и {ratingpercentlikes} (процент 0-100). Если общий рейтинг в минусе, то оценка будет 0. Как-то уже предлагал, но разработчик сказал что {ratingscore} только для звезд и не нужно. Однако многие сайты это используют, все довольны. Только тут нужнго продумать, чтобы была возможность вывести только цифру, без html, чтобы была возможность применять style="width: {ratingpercentlikes}%;"
2. Для рейтинга звезды неплохо было бы иметь возможность включить 10 звезд.