ks95 2 Опубликовано: 5 сентября 2017 Рассказать Опубликовано: 5 сентября 2017 konoplev.net Создал дополнительное поле "best" с типом "переключатель да/нет", чтобы конкретные новости из конкретной категории можно было помечать или не помечать, как имеющие определённую характеристику (типа, лучшее/рекомендовано/советую/выбор редакции и т.п.). При добавлении новости с переключателем "да" она при выводе помечается специальной картинкой через хтмл-код (например: [xfgiven_best]<img src="{THEME}/images/best.png" />[/xfgiven_best]). Чтобы по нажатию на ссылку вывести все новости в этой категории, помеченные переключателем "да", мне приходится также через вкладку "Дополнительно" добавлять в эти новости одинаковый символьный код, чтобы они выводились, как принадлежащие к определённому каталогу. Фактически, приходится делать двойную работу: использовать переключатель дополнительного поля и помечать символьным кодом. Вопрос: как сформировать ссылку для вывода списка новостей с переключателем "да", не прибегая к использованию символьного кода (вообще обойтись без него)? Цитата Ссылка на сообщение Поделиться на других сайтах
ks95 2 Опубликовано: 7 сентября 2017 Рассказать Опубликовано: 7 сентября 2017 Автор Может быть это легче реализовать через задание ключевых слов в облаке тегов? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 8 сентября 2017 Рассказать Опубликовано: 8 сентября 2017 В 05.09.2017 в 16:56, ks95 сказал: Вопрос: как сформировать ссылку для вывода списка новостей с переключателем "да", не прибегая к использованию символьного кода (вообще обойтись без него)? Никак. Поиск по доп. полям имеющим определенное значение возможен только в том случае, если поле имеет дополнительно опцию "использовать как перекрестные ссылки" 18 часов назад, ks95 сказал: Может быть это легче реализовать через задание ключевых слов в облаке тегов? Можно и через доп. поля, только тип должен быть не переключатель, а например текстовое поле или select с опцией перекрестных ссылок. Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 311 Опубликовано: 8 сентября 2017 Рассказать Опубликовано: 8 сентября 2017 4 часа назад, celsoft сказал: Никак. Поиск по доп. полям имеющим определенное значение возможен только в том случае, если поле имеет дополнительно опцию "использовать как перекрестные ссылки" Можно и через доп. поля, только тип должен быть не переключатель, а например текстовое поле или select с опцией перекрестных ссылок. Когда разработчик не знает свой же функционал... Цитата Ссылка на сообщение Поделиться на других сайтах
ks95 2 Опубликовано: 8 сентября 2017 Рассказать Опубликовано: 8 сентября 2017 Автор Gameer, не могли бы подробней объяснить известный вам способ? Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 311 Опубликовано: 8 сентября 2017 Рассказать Опубликовано: 8 сентября 2017 8 минут назад, ks95 сказал: Gameer, не могли бы подробней объяснить известный вам способ? Да просто ссылка /xfsearch/best/1/ Где best ваше доп поле. Ссылка ведет на страницу с новостями у которых переключатель включен /xfsearch/best/0/ А при ссылке с нулём у которых выключен. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 9 сентября 2017 Рассказать Опубликовано: 9 сентября 2017 19 часов назад, Gameer сказал: Когда разработчик не знает свой же функционал... Как раз таки знает и знает когда то что вы написали перестанет работать и правильно показывать. У вас показывает потому что нет других полей хотя бы содержащий 1 или 0 как только появятся вы будет уже видеть кашу, либо не видеть ничего. /xfsearch/best/1/ документирован только для полей с опцией "перекрестные ссылки", а для поля "переключатель", такой опции нет. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 311 Опубликовано: 9 сентября 2017 Рассказать Опубликовано: 9 сентября 2017 1 час назад, celsoft сказал: Как раз таки знает и знает когда то что вы написали перестанет работать и правильно показывать. У вас показывает потому что нет других полей хотя бы содержащий 1 или 0 как только появятся вы будет уже видеть кашу, либо не видеть ничего. /xfsearch/best/1/ документирован только для полей с опцией "перекрестные ссылки", а для поля "переключатель", такой опции нет. Да, увидел. Но сделав правку небольшую все будет ок. В engine/engine.php найти $sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}xfields LIKE '%{$xf}%' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; Заменить на if($xfname) { $xf_like = $xfname . "|"; } $sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}xfields LIKE '%{$xf_like}{$xf}%' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; Цитата Ссылка на сообщение Поделиться на других сайтах
ks95 2 Опубликовано: 9 сентября 2017 Рассказать Опубликовано: 9 сентября 2017 Автор 5 часов назад, Gameer сказал: Но сделав правку небольшую все будет ок. Спасибо за ваше неравнодушие, что даёте конкретный совет. Всё-таки хотелось бы воспользоваться стандартными средствами, без внесения изменений в код. Иначе при каждом обновлении придётся делать то же самое, и не факт, что для новых версий это будет актуально. 6 часов назад, celsoft сказал: /xfsearch/best/1/ документирован только для полей Очень странно, но в документации я вообще не нахожу такого слова "xfsearch". Разве это в самом деле документировано? Цитата Ссылка на сообщение Поделиться на других сайтах
ks95 2 Опубликовано: 9 сентября 2017 Рассказать Опубликовано: 9 сентября 2017 Автор Офтоп, дополнительный вопрос. При отключённом ЧПУ можно ли использовать для указания категорий ссылку типа website.com/soft/ вместо положенной website.com/?do=cat&category=soft ? У меня ЧПУ выключено, но вариант типа website.com/soft/ почему-то тоже работает. Цитата Ссылка на сообщение Поделиться на других сайтах
ks95 2 Опубликовано: 9 сентября 2017 Рассказать Опубликовано: 9 сентября 2017 Автор В 08.09.2017 в 12:56, celsoft сказал: Поиск по доп. полям имеющим определенное значение возможен только в том случае, если поле имеет дополнительно опцию "использовать как перекрестные ссылки" Сделал так, изменил доп. поле на "одна строка", поставил галочку "перекрёст. ссылки". Подскажите, как в этом случае формируется ссылка на список новостей, в которых это доп. поле называется "best", описание поля "Лучшее", и в его значении в новостях введено "да" (или любое другое значение: +/ок/лучшее и т.п.)? Спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
ks95 2 Опубликовано: 9 сентября 2017 Рассказать Опубликовано: 9 сентября 2017 Автор Кажется, понял, методом тыка, - ссылка будет такая: konoplev.net/xfsearch/best/да/ . Кстати, допустимо ли использовать кириллицу ("да"), или лучше надо латиницу ("da")? И с "+" точно не работает, зато работает с цифрой. Но всё равно странно, что в документации про /xfsearch/ ничего нет, а знающие люди во всю давно пользуются. И не понятно, почему обязательно нужен параметр в этом случае "перекрёстные ссылки"?.. Ну, нужен, так нужен. И про 3 часа назад, ks95 сказал: дополнительный вопрос пожалуйста, ответьте. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 10 сентября 2017 Рассказать Опубликовано: 10 сентября 2017 12 часа назад, ks95 сказал: Сделал так, изменил доп. поле на "одна строка", поставил галочку "перекрёст. ссылки". Подскажите, как в этом случае формируется ссылка на список новостей, в которых это доп. поле называется "best", описание поля "Лучшее", и в его значении в новостях введено "да" (или любое другое значение: +/ок/лучшее и т.п.)? Спасибо. При выводе доп. поля на сайте, оно будет выведено уже с формированной ссылкой. 12 часа назад, ks95 сказал: Но всё равно странно, что в документации про /xfsearch/ ничего нет, а знающие люди во всю давно пользуются. Это не какая то вручную вставляемая ссылка. Такие ссылки использует DLE при выводе доп. полей. 12 часа назад, ks95 сказал: Кстати, допустимо ли использовать кириллицу ("да"), или лучше надо латиницу ("da")? По вашему желанию 12 часа назад, ks95 сказал: И с "+" точно не работает, зато работает с цифрой. Потому что выводить ссылки должен DLE, тогда он сделает все правильно. "+" один из служебных символов URL кодирования, и должен быть корректно экранирован для использования в URL, а не просто выведен напрямую в URL 12 часа назад, ks95 сказал: И не понятно, почему обязательно нужен параметр в этом случае "перекрёстные ссылки"? Потому что этот параметр определяет что новость должна быть соответствующим образом проиндексирована, и по этому индексу ищет скрипт корректно. 22 часа назад, Gameer сказал: Да, увидел. Но сделав правку небольшую все будет ок. В engine/engine.php найти Тоже не правильно. При определенном положении поля в списке полей и заполнении публикации в определенной комбинации, подобная правка не будет работать и корректного поиска также не будет. Корректный поиск возможен только для полей имеющий опцию "Перекрестные ссылки", т.к. информация потом из этих полей вносится в соответствующий индекс для корректного и правильного поиска публикаций. Цитата Ссылка на сообщение Поделиться на других сайтах
ks95 2 Опубликовано: 10 сентября 2017 Рассказать Опубликовано: 10 сентября 2017 Автор Огромное спасибо за ваши разъяснения! 23 минуты назад, celsoft сказал: При выводе доп. поля на сайте, оно будет выведено уже с формированной ссылкой. 34 минуты назад, celsoft сказал: Это не какая то вручную вставляемая ссылка. Такие ссылки использует DLE при выводе доп. полей. Поймите меня правильно как конечного пользователя ДЛЕ, и исходите из того, что я должен опираться на документацию вашего движка. Так вот, только из сообщений пользователей на форуме я понял, как формируется эта ссылка. А в документации этого нет. (Просто возьмите на заметку, как разработчик, ибо не я один на это внимание обратил). Про использование доп.полей описано только это: Для того чтобы использовать поле на странице с новостями, Вам необходимо в шаблон добавить переменную [xfvalue_X], где X - значение поля (имя, которое Вы ввели при добавлении нового поля). Также можно использовать связку [xfgiven_X]...[/xfgiven_X], которые выводят текст указанный в них если дополнительное поле было задано. И приведён пример: [xfgiven_source]Источник - <a href=[xfvalue_source]>нужный текст</a>.[/xfgiven_source] Если использовать пример из образца с включёнными "перекрёст. ссылками", то получается белиберда (проверьте сами). Документированный пример работает только если "перекрёст. ссылки" вЫключены. А если их включить, то пример [xfvalue_source] сразу принимает вид ссылки при вставке в код, и выглядит, как введённое в это доп. поле значение. Таким образом, если мне нужно формирование ссылки вида "Самые красивые и вкусные в мире помидоры", то эту фразу я каждый раз при необходимости должен вводить в это доп. поле, причём, в этом строго неизменном виде. Тогда действительно достаточно будет указать в тексте [xfvalue_source]. А вот если знать про чудесный недокументированный функционал /xfsearch/, то достаточно в доп. поле вводить простой текст, например, "1", и выдачу списка таких статей можно делать по ссылке сайт.ру/xfsearch/source/1/. Плюс в шаблоне ссылку можно оформить в любом нужном виде, вместо жёстко предустановленного "Самые красивые и вкусные в мире помидоры". Ладно, это я делюсь своим открытием, а разработчик и опытные пользователи об этом и без меня знают. ПС Главное, что на данном этапе я разобрался. Спасибо. Пожалуйста, уточните ещё про это: 20 часов назад, ks95 сказал: При отключённом ЧПУ можно ли использовать для указания категорий ссылку типа website.com/soft/ вместо положенной website.com/?do=cat&category=soft ? У меня ЧПУ выключено, но вариант типа website.com/soft/ почему-то тоже работает. Спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 311 Опубликовано: 10 сентября 2017 Рассказать Опубликовано: 10 сентября 2017 4 часа назад, celsoft сказал: Тоже не правильно. При определенном положении поля в списке полей и заполнении публикации в определенной комбинации, подобная правка не будет работать и корректного поиска также не будет. Корректный поиск возможен только для полей имеющий опцию "Перекрестные ссылки", т.к. информация потом из этих полей вносится в соответствующий индекс для корректного и правильного поиска публикаций. О каком положении идет речь? В xfields записывается "доп поле|значение", именно так я прописал для поиска именно по доп полю, если он в ссылке есть, но нет именно в базе в той самой таблице куда записываются значения перекрестных ссылок для поиска в дальнейшем. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 10 сентября 2017 Рассказать Опубликовано: 10 сентября 2017 7 часов назад, ks95 сказал: Так вот, только из сообщений пользователей на форуме я понял, как формируется эта ссылка. А в документации этого нет. (Просто возьмите на заметку, как разработчик, ибо не я один на это внимание обратил). Что вы ищите в документации? Я вам выше написал что это не вручную генерируемая ссылка, ее делает DLE автоматически. Поэтому и в документации про нее ничего нет, и быть не может. А в теме что вы дали сейчас ссылку, речь идет о совершенно другом. Вы путаете теги DLE c ссылками URL. Это совершенно разные вещи. В вы все смешали в одну кучу. В 09.09.2017 в 19:02, ks95 сказал: Офтоп, дополнительный вопрос. При отключённом ЧПУ можно ли использовать для указания категорий ссылку типа website.com/soft/ вместо положенной website.com/?do=cat&category=soft ? У меня ЧПУ выключено, но вариант типа website.com/soft/ почему-то тоже работает. Можно если присутствует файл .haccess в корне сайта. Чтобы полностью отключить ЧПУ от поддержки скриптом, необходимо удалить файл .htaccess в корне вашего сайта. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
ks95 2 Опубликовано: 11 сентября 2017 Рассказать Опубликовано: 11 сентября 2017 Автор Спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
stas84 2 Опубликовано: 16 ноября 2023 Рассказать Опубликовано: 16 ноября 2023 Привет! В 2023-ем не появилось возможности отобразить по ссылке все новости с активированным доп. полем radiobutton? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.