inokentik 45 Опубликовано: 28 января 2017 Рассказать Опубликовано: 28 января 2017 Всем привет и снова я со своими дурацкими вопросами, в которых не могу разобраться. Помогите, кого не затруднит. Вопрос такого рода: можно ли как-то через БД или каким-то вообще способом, задать порядок вывода похожих новостей?! Ситуация такая, что у меня сайт по игре Покемонов и там некоторые покемоны появились много ПОЗЖЕ, но они эволюционируют из меньшего в большие... Вот пример странички https://about-pokemon-go.ru/pokedex/first-generation/1-bulbasaur.html тут есть похожие новости (эволюция) и вот тут порядок правильный и по ID новости и по алфавиту и по дате... Но есть страничка https://about-pokemon-go.ru/pokedex/second-generation/172-pichu.html на которой так же похожие новости, но суть в том, что тут не тот порядок похожих новостей, как мне надо... То есть сейчас идет так: Pikacu -- Raichu -- Pichu, а надо чтоб было наоборот Pichu -- Pikacu -- Raichu, но у новости PICHU более поздний ID, так как это покемон уже второго поколения, а мне надо именно определенный порядок задать... И еще хотелось бы не использовать кнопку ПЕРЕСТРОЕНИЕ публикаций и похожих новостей, так как на данный момент похожие новости я прописываю вручную в БД, чтоб в определенной новости отображались похожие именно те новости, которые там надо (а если жать перестроение, то они все очищаются).Как быть в такой ситуации, когда я хочу определенный порядок задать для похожих новостей?! Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 28 января 2017 Рассказать Опубликовано: 28 января 2017 38 минут назад, inokentik сказал: Всем привет и снова я со своими дурацкими вопросами, в которых не могу разобраться. Помогите, кого не затруднит. Вопрос такого рода: можно ли как-то через БД или каким-то вообще способом, задать порядок вывода похожих новостей?! Ситуация такая, что у меня сайт по игре Покемонов и там некоторые покемоны появились много ПОЗЖЕ, но они эволюционируют из меньшего в большие... Вот пример странички https://about-pokemon-go.ru/pokedex/first-generation/1-bulbasaur.html тут есть похожие новости (эволюция) и вот тут порядок правильный и по ID новости и по алфавиту и по дате... Но есть страничка https://about-pokemon-go.ru/pokedex/second-generation/172-pichu.html на которой так же похожие новости, но суть в том, что тут не тот порядок похожих новостей, как мне надо... То есть сейчас идет так: Pikacu -- Raichu -- Pichu, а надо чтоб было наоборот Pichu -- Pikacu -- Raichu, но у новости PICHU более поздний ID, так как это покемон уже второго поколения, а мне надо именно определенный порядок задать... И еще хотелось бы не использовать кнопку ПЕРЕСТРОЕНИЕ публикаций и похожих новостей, так как на данный момент похожие новости я прописываю вручную в БД, чтоб в определенной новости отображались похожие именно те новости, которые там надо (а если жать перестроение, то они все очищаются).Как быть в такой ситуации, когда я хочу определенный порядок задать для похожих новостей?! про бд не знаю, ни когда этим вопросом не задавался, но когда-то давно, у меня был сайт с фильмами онлайн и там я делал вывод у актёров фильмов в которых они снимались именно по похожим новостям. Так чтобы отсортировать по дате выхода фильма, я делал вывод в таблице и через jquery делал сортировку фильмов в таблице по году. Думаю плагины найдешь по запросу «сортировка таблицы jquery», просто если менять что-то в файлах движка, после обновления нужно опять это делать. Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 29 января 2017 Рассказать Опубликовано: 29 января 2017 Вам уже по моему отвечали по этому вопросу давным давно, используйте доп.поле и {custom}. Цитата Ссылка на сообщение Поделиться на других сайтах
inokentik 45 Опубликовано: 29 января 2017 Рассказать Опубликовано: 29 января 2017 Автор 2 часа назад, SKYNET74 сказал: Вам уже по моему отвечали по этому вопросу давным давно, используйте доп.поле и {custom}. и в каждой новости в допполе писать {custom.... id=1 и тд??? Цитата Ссылка на сообщение Поделиться на других сайтах
inokentik 45 Опубликовано: 29 января 2017 Рассказать Опубликовано: 29 января 2017 Автор 3 часа назад, SKYNET74 сказал: Вам уже по моему отвечали по этому вопросу давным давно, используйте доп.поле и {custom}. Просто сейчас у меня сделано стандартно, вывел тегом {related-news} и в базе прописал где в какой новости, какие новости должны отображаться... Надо лишь в 5 новостях немного порядок изменить и ради этого переделывать 250 новостей чтоб вывести допполем, по моему не самый рациональный способ((( Не уж то никак в БД не задать какая новость и какая по очередности в определенной новости будет выводится... Там ведь есть поле related-news в котором просто ШВ прописываешь через запятую и все... Вот как бы одну новость лишь поместить в начало, хотя у нее ID более поздний идет(( Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 29 января 2017 Рассказать Опубликовано: 29 января 2017 49 минут назад, inokentik сказал: и в каждой новости в допполе писать {custom.... id=1 и тд??? Вы же сейчас вообще в БД сайта вручную капашитесь... Вообще в каком порядке пропишете в базе ID, в таком они и должны выводится. Цитата Ссылка на сообщение Поделиться на других сайтах
inokentik 45 Опубликовано: 29 января 2017 Рассказать Опубликовано: 29 января 2017 Автор 2 минуты назад, SKYNET74 сказал: Вы же сейчас вообще в БД сайта вручную капашитесь... Вообще в каком порядке пропишете в базе ID, в таком они и должны выводится. Я порядок изменял, не помогает... Я писал 173,25,26 для определенной новости и писал уже 25,173,26 (это ID похожих новостей), на сайте без изменений (чистил кэш) не помогает... Перестроение публикаций боюсь тыкать, так как все новости похожие сотрутся те что вручную вводил Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 29 января 2017 Рассказать Опубликовано: 29 января 2017 (изменено) Идёте в /engine/modules/show.full.php и изменяете строку: $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE id IN({$row['related_ids']}) AND approve=1 ORDER BY id DESC"); на: $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE id IN({$row['related_ids']}) AND approve=1 ORDER BY FIND_IN_SET(id, '".$row['related_ids']."')"); Профит. А вообще я вам уже говорил, делаете доп.поле, и используете переменные-условия для его вывода, а когда оно не заполнено, выводите стандартный {related-news}. Изменено 29 января 2017 пользователем SKYNET74 1 Цитата Ссылка на сообщение Поделиться на других сайтах
inokentik 45 Опубликовано: 30 января 2017 Рассказать Опубликовано: 30 января 2017 Автор 16 часов назад, SKYNET74 сказал: Идёте в /engine/modules/show.full.php и изменяете строку: $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE id IN({$row['related_ids']}) AND approve=1 ORDER BY id DESC"); на: $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE id IN({$row['related_ids']}) AND approve=1 ORDER BY FIND_IN_SET(id, '".$row['related_ids']."')"); Профит. А вообще я вам уже говорил, делаете доп.поле, и используете переменные-условия для его вывода, а когда оно не заполнено, выводите стандартный {related-news}. ШИКАРНО! Спасибо!! Это именно то, чего я и хотел!! Благодарю!!! Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.