ntrtv 56 Опубликовано: 21 июня 2021 Рассказать Опубликовано: 21 июня 2021 (изменено) Есть допполе youtubevideo, при показе страницы с адресом /index.php?do=xfsearch&xf=youtubevideo стало выдавать ошибку. Что поломалось? Не знаю точно, когда ошибка появилась, но совсем недавно все работало... DLE 14.3 MySQL Error! MySQL error in file: /engine/modules/show.short.php at line 1104 Error Number: 1054 The Error returned was: Unknown column 'p.xfields' in 'where clause' SQL query: SELECT COUNT(*) as count FROM dle_post WHERE p.xfields LIKE '%youtubevideo|%' AND approve=1 AND date < '2021-06-21 21:03:57' Изменено 21 июня 2021 пользователем ntrtv Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 21 июня 2021 Рассказать Опубликовано: 21 июня 2021 Автор Оказывается, по всем допполям такую ошибку выдает. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 22 июня 2021 Рассказать Опубликовано: 22 июня 2021 Вам ответили по почте что ссылка некорректная. Отсутствует имя доп. поля в ссылке Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 22 июня 2021 Рассказать Опубликовано: 22 июня 2021 (изменено) Автор Но, к сожалению, не подсказали правильную ссылку. Да, после внесения правок в скрипт и обновления ссылка стала снова работать. Изменено 22 июня 2021 пользователем ntrtv Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 23 июня 2021 Рассказать Опубликовано: 23 июня 2021 22.06.2021 в 11:29, ntrtv сказал: Но, к сожалению, не подсказали правильную ссылку. Мы вам сказали как ее установить. Она зависит от настроек скрипта, от имен полей и т.д. Выведете ее правильными средствами, т.е. тегами DLE и получите правильную ссылку. 22.06.2021 в 11:29, ntrtv сказал: Да, после внесения правок в скрипт и обновления ссылка стала снова работать. Убрать ошибку не значит работать корректно. Вы хотите решить свою проблему и сделать все правильно или убрать ошибку? Как решить правильно мы написали вам по e-mail. Если убрать ошибку, то ничего делать не нужно. Потом просто не пишите, а почему контент не тот, почему не выводит, что что нужно или выводит лишнее и т.д. Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 23 июня 2021 Рассказать Опубликовано: 23 июня 2021 Автор так как у нас расширенная лицензия я надеялся на более дружелюбную поддержку. Поэтому попрошу еще раз, По этой ссылке /index.php?do=xfsearch&xf=youtubevideo у на сайте выводятся все новости, где ЗАПОЛНЕНО допполе "youtubevideo". Если эта ссылка неверная, то просто подскажите, какая верная? На сайте отключено ЧПУ, поэтому ссылка вида http://вашсайт/xfsearch/имя поля/ -- не работает. Спасибо! Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 23 июня 2021 Рассказать Опубликовано: 23 июня 2021 2 часа назад, ntrtv сказал: По этой ссылке /index.php?do=xfsearch&xf=youtubevideo у на сайте выводятся все новости, где ЗАПОЛНЕНО допполе "youtubevideo". Нет. Неверно. Вам сейчас выводится все что содержит слово youtubevideo, во всех доп. полях. Причем как в именах, так и в значениях всех доп. полей без исключения. 2 часа назад, ntrtv сказал: так как у нас расширенная лицензия я надеялся на более дружелюбную поддержку. 2 часа назад, ntrtv сказал: Если эта ссылка неверная, то просто подскажите, какая верная? Я вам сказал уже не раз как правильно. Доп. поле должно иметь тип перекрестные ссылки. Значение зависит что вы там напишите. Выводите поле тегом [xfvalue_имя поля] и видите ссылку. Так и только так правильно и только так предусмотрено в DLE и документировано. И никак иначе. Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 23 июня 2021 Рассказать Опубликовано: 23 июня 2021 (изменено) Автор 49 минут назад, celsoft сказал: Нет. Неверно. Вам сейчас выводится все что содержит слово youtubevideo, во всех доп. полях. Причем как в именах, так и в значениях всех доп. полей без исключения. 3 часа назад, ntrtv сказал: Ну нет же. Слова youtubevideo нет в допполях, там идентификаторы видео Ютуб. Это исключительно название допполя. И выводятся только новости, с заполненными полями youtubevideo. Новости с незаполненными полями не выводятся. 49 минут назад, celsoft сказал: Я вам сказал уже не раз как правильно. Доп. поле должно иметь тип перекрестные ссылки. Значение зависит что вы там напишите. Выводите поле тегом [xfvalue_имя поля] и видите ссылку. Но в main.tpl я так понимаю оно не работает? Вот я получил ссылку: https://ntr-24.ru/index.php?do=xfsearch&xfname=youtubevideo&xf=RtUZJGWLkHk, она выводит новость, содержащую поле с RtUZJGWLkHk, Но мне надо вывести ВСЕ материалы на странице с шаблонов shortstory, у которых заполнено поле youtubevideo Изменено 23 июня 2021 пользователем ntrtv Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 24 июня 2021 Рассказать Опубликовано: 24 июня 2021 Автор 11 часов назад, celsoft сказал: Нет. Неверно. Вам сейчас выводится все что содержит слово youtubevideo, во всех доп. полях. Причем как в именах, так и в значениях всех доп. полей без исключения. 13 часов назад, ntrtv сказал: Я неверно выразился. Да, он так и работает. И работает корректно, выводя лишь заполненные поля youtubevideo. Это нам и нужно. Потому youtubevideo больше нигде, кроме как в названии этого допполя не встречается. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 24 июня 2021 Рассказать Опубликовано: 24 июня 2021 10 часов назад, ntrtv сказал: Я неверно выразился. Да, он так и работает. И работает корректно, выводя лишь заполненные поля youtubevideo. Это нам и нужно. Потому youtubevideo больше нигде, кроме как в названии этого допполя не встречается. А в будущей версии вообще ничего не будет показываться. Вы не понимаете? Есть документированные возможности, есть нет, которые остаются для совместимости во время переиндексации и перехода, если ссылки меняются. И соответственно ничего не документированное и не официальное не гарантирует что это останется. Вон была ошибка полгода и никто не знал и внимания не обращал. Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 24 июня 2021 Рассказать Опубликовано: 24 июня 2021 (изменено) Автор Понимаю. Так как правильно изменить эту ссылку https://ntr-24.ru/index.php?do=xfsearch&xfname=youtubevideo&xf=RtUZJGWLkHk,, чтобы выводились все новости, у которых заполнено поле youtubevideo? Или такой возможности нет? Изменено 24 июня 2021 пользователем ntrtv Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 24 июня 2021 Рассказать Опубликовано: 24 июня 2021 Автор В итоге сделал так: В .htaccess вернул строки (ЧПУ отключен на сайте): RewriteRule ^xfsearch/(.*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [B,L] RewriteRule ^xfsearch/(.*)/?$ index.php?do=xfsearch&xf=$1 [B,L] В итоге ссылка вида https://ntr-24.ru/xfsearch/youtubevideo заработала. На отдельной странице выводятся все материалы, в которых заполнено поле youtubevideo. НО!!! При переходе на вторую страницу опять формируется ссылка: https://ntr-24.ru/index.php?cstart=2&do=xfsearch&xf=youtubevideo Тут уж я ничего не придумывал, не сочинял. Скрипт сам ее генерирует. Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 311 Опубликовано: 24 июня 2021 Рассказать Опубликовано: 24 июня 2021 10 минут назад, ntrtv сказал: В итоге сделал так: В .htaccess вернул строки (ЧПУ отключен на сайте): RewriteRule ^xfsearch/(.*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [B,L] RewriteRule ^xfsearch/(.*)/?$ index.php?do=xfsearch&xf=$1 [B,L] В итоге ссылка вида https://ntr-24.ru/xfsearch/youtubevideo заработала. На отдельной странице выводятся все материалы, в которых заполнено поле youtubevideo. НО!!! При переходе на вторую страницу опять формируется ссылка: https://ntr-24.ru/index.php?cstart=2&do=xfsearch&xf=youtubevideo Тут уж я ничего не придумывал, не сочинял. Скрипт сам ее генерирует. Потому что чтобы работал ЧПУ нужно включить его в настройках, одно только возвращение .htaccess не поможет Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 24 июня 2021 Рассказать Опубликовано: 24 июня 2021 Автор Я понимаю. Просто celsoft писал, что я сам откуда то придумал эту ссылку /index.php?do=xfsearch&xf=youtubevideo, но скрипт то сам ее генерирует. Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 311 Опубликовано: 24 июня 2021 Рассказать Опубликовано: 24 июня 2021 (изменено) 29 минут назад, ntrtv сказал: Я понимаю. Просто celsoft писал, что я сам откуда то придумал эту ссылку /index.php?do=xfsearch&xf=youtubevideo, но скрипт то сам ее генерирует. Ссылка верная, а данные не совсем, там подразумевается вывод и названия доп поля и его значение. Но, в DLE есть код который ищет по всем доп полям с значением которое указано в &xf если там нет названия доп поля. По сути у вас ищет во всех доп полях значение youtubevideo, поэтому всё работает. Как будет в дальнейшем и уберут ли эту возможность - не знаю. Но сейчас работает то что вам нужно. Изменено 24 июня 2021 пользователем Gameer Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 24 июня 2021 Рассказать Опубликовано: 24 июня 2021 2 часа назад, ntrtv сказал: писал, что я сам откуда то придумал эту ссылку /index.php?do=xfsearch&xf=youtubevideo, но скрипт то сам ее генерирует. Где скрипт ее генерирует? Правила ЧПУ это не генерация ссылок без ЧПУ и не одно и то же что и ссылки без ЧПУ. 2 часа назад, ntrtv сказал: В итоге ссылка вида https://ntr-24.ru/xfsearch/youtubevideo заработала. На отдельной странице выводятся все материалы, в которых заполнено поле youtubevideo. НО!!! При переходе на вторую страницу опять формируется ссылка: https://ntr-24.ru/index.php?cstart=2&do=xfsearch&xf=youtubevideo Тут уж я ничего не придумывал, не сочинял. Скрипт сам ее генерирует. Я вот наверное уже с десяток раз написал, что фильтр по доп. полям в DLE есть и всегда был только для доп. полей имеющих тип "перекрестные ссылки" у вас ваше поле такого типа не имеет. Используете просто поиск по полю, в БД где хранится имена полей и их значения. И вам находит банально по имени доп. поле, потому как в БД такая запись есть. Вещь не документированная, которая существует еще для совместимости с очень очень древними версиями DLE в области поиска, эта совместимость не будет вечной, она уже пару лет как не актуальна. А вы пытаетесь ее использовать даже не как для совместимости, а как свою какую то отдельную возможность. Это вы делаете зря, потому как в любой момент в будущих релизах ее может не стать и все. И вы будете думать что произошло и что это баг. А это таковым не будет являться. Понимаете? Для своих функций сайта нужно использовать либо стандартные возможности, либо писать свой плагин чтобы он оставался в системе в будущем. Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 56 Опубликовано: 25 июня 2021 Рассказать Опубликовано: 25 июня 2021 (изменено) Автор 8 часов назад, celsoft сказал: Где скрипт ее генерирует? Правила ЧПУ это не генерация ссылок без ЧПУ и не одно и то же что и ссылки без ЧПУ. Так на сайте и генерирует. При навигации по страницам. :) Я понял, что баг. https://ibb.co/5M2sXy5 8 часов назад, celsoft сказал: И вам находит банально по имени доп. поле, потому как в БД такая запись есть. Вещь не документированная, которая существует еще для совместимости с очень очень древними версиями DLE в области поиска, эта совместимость не будет вечной, она уже пару лет как не актуальна. Так задокументируйте. Удобно же выводить все новости по допполю, не имеющему тип "перекрестные ссылки", если оно заполнено. Изменено 25 июня 2021 пользователем ntrtv Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 27 июня 2021 Рассказать Опубликовано: 27 июня 2021 25.06.2021 в 06:32, ntrtv сказал: Так на сайте и генерирует. При навигации по страницам. :) Я понял, что баг. Совершенно иную ссылку генерирует а не ту что вы написали. И причем здесь навигация? 25.06.2021 в 06:32, ntrtv сказал: Так задокументируйте. Удобно же выводить все новости по допполю, не имеющему тип "перекрестные ссылки", если оно заполнено. Нет. Прочитайте внимательно для чего и почему это выборка пока еще работает. Я выше это написал. Это не то что будет документировано, в будущем в скрипте вообще этого не будет. Для своих возможностей, нужно писать свои плагины, а не пользоваться временной обратной совместимостью. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.