Привет всем, подскажите как реализовать вывод тега {text limit="x"} в похожих новостях, но чтобы описание бралось не с "short_story" а с дополнительного поля?
TeraMoune
Как изменить вывод custom по нескольким тегам?
28-10-2024, 01:05
Я же написал, продублирую: нужно использовать [[:punct:]]
И проблема в условии проверяющее версию mysql, можно поменять местами true и false, изменить знак меньше на больше или вовсе убрать код строки с version_compare и оставить ту строку кода $tempArray[] где используется [[:punct:]].
В статье также указано, что важно использовать экранирование, собственно, что и указано в методе по исправлению ошибки. Статья по решению проблемы
Там у человека совершенно другое условие поиска. Он не теги ищет которые строго разделены запятыми, он просто слова ищет и ему как раз подойдёт граница слова. И это когда-то давно поиск был разделяя по границе слова, теперь есть character_class и используется другой метод. Но это не отменяет того, что вы нашли вопрос и решение которое никак не связано с темой новости поиска новостей с наличием тегов.
homa152
Как изменить вывод custom по нескольким тегам?
27-10-2024, 23:33
Если вы готовы предложить какое-то решение для исправление проблемы 3685, отлично. Иначе к сожалению на последних версиях MySQL хак не рабочий, согласно вашему трактату.
homa152
Как изменить вывод custom по нескольким тегам?
27-10-2024, 23:20
Я буквально 2 часа назад столкнулся с проблемами при установке этого хака, проблема была именно в ошибке 3685, сайт не просто переставал работать, использовалась стандартная заглушка при критических ошибках MySQL исправить получилось методом описанным выше, для версия до 8 хак работает исправно, но выше, требуется доработка, так как синтаксис считается ошибочным, вы можете проверить самостоятельно.
В статье также указано, что важно использовать экранирование, собственно, что и указано в методе по исправлению ошибки. Статья по решению проблемы
TeraMoune
Как изменить вывод custom по нескольким тегам?
27-10-2024, 22:32
Напротив нужно использовать [[:punct:]] вместо скобок, про это написано в документации на которую вы ссылаетесь. А \b означает границу слова и не способен правильно отображать результаты. Граница слова это когда выражение будет находить отдельные слова. Например новость имеет теги (Социальная сеть, Блокировка) и tags REGEXP '\\b(сеть)\\b' найдёт новость с тегом Социальная сеть, а так же Рыбацкая сеть и в принципе найдёт все новости где присутствует слово "Сеть" и будет много лишних результатов, а не только нужные.
В хаке как раз присутствует проверка на старую версию и новую mysql и в каждом случае используется тот вариант который является валидным для используемой версии.
homa152
Как изменить вывод custom по нескольким тегам?
27-10-2024, 21:30
Добавлю касаемо обновления архитектуры MySQL При добавлении хака с версии MySQL 8.0, возможно появление ошибки: 3685. Неверный аргумент для регулярного выражения.
Можно пофиксить самостоятельно внеся корректировки в сам хак из панели админа.
Согласно справочному руководству MySQL 8.0 / ... / Регулярные выражения, «MySQL поддерживает регулярные выражения с помощью международных компонентов для Unicode (ICU)».
То есть, вместо "[[:<:]] и [[:>:]]", нужно использовать: "\b"
vitnet
Есть ли возможность изменить язык сайта?
25-10-2024, 16:22
Ну как вариант можно использовать тег {lang text=***} подробнее
{lang text="LANG_PARAMETER"}
Данный тег предназначен для вывода информации из языкового файла website.tpl, который в данный момент используется, где LANG_PARAMETER это значение параметра, который необходимо вывести. Например, тег {lang text="attach_images"} выведет надпись “Прикрепить изображения” из языкового пакета, в случае использования русского языка и если используется английский язык, то “Attach Images”
TeraMoune
Как перенести категории в DLE?
21-10-2024, 12:12
Никаких особых способов нету, категории находятся в таблице _category. Никто не стоит над вами за спиной чтобы сказать, что пошло не так. Пробуйте вновь заливать бэкапы, может уже отдельно только одну таблицу, ну и проверяйте наличие категорий в таблице после процедуры.