Вход • Регистрация

вывод статей в обратном порядке

  • 11 июля 2012 г. , редакция: 12 июля 2012 г.
  • Доброго времени суток! Сейчас статьи выводятся по дате, т.е. которую первой добавили, она последняя становится в списке. как сделать так, что бы для определенной категории этот порядок был другим, а именно, первая добавленная статья оставалась перво в списке? Кто нибудь сталкивался с этим?
    Версия 4.5

    UPDATE

    как еще сделать что бы категории применялись только для определенного раздела статей?
  • 13 июля 2012 г.
  • Сталкивался с подобным в каталоге, при выводе на главной. Решил вопрос изменением ключевого слова указывающего порядок сортировки из базы данных
    • 17 июля 2012 г.
    • Имеется ввиду, /modules/clauses/clauses.model.php
      ищется в коде участок
      Код
      created DESC

      это будет часть запроса к БД, сортирующая статьи по дате в убывании. Нужно поменять на
      Код
      id DESC
      например, чтобы последняя добавленная была в списке первая и
      Код
      id ASC
      , чтобы первая добавленная была первой в списке.

      Конечно, нужно не забыть отключить кеширование на момент правки скриптов, иначе изменения сразу не увидишь.
      • 17 июля 2012 г.
      • т.е. было
        Цитата
        ." AND created<%d ORDER BY prior DESC, created DESC, id DESC",
        , стало
        Цитата
        ." AND created<%d ORDER BY prior DESC, created DESC, id ASC",
        ?
        • 17 июля 2012 г.
        • Это же приоритет описывается в запросе, то есть сортировка в сортировке.

          ORDER BY prior DESC, created DESC, id DESC
          =
          сортировать по "галка важно всегда сверху" по убыванию, если совпадает, то затем по дате по убыванию, и если совпадает дата, затем по номеру по убыванию

          Если Вы сделаете ORDER BY prior DESC, created DESC, id ASC, это равно по смыслу:
          сортировать по "галка важно всегда сверху" по убыванию, затем по дате по убыванию, затем по номеру по возрастанию

          То есть сортироваться по номеру будет только в том случае, если у всех дата будет одинаковая. А поскольку дата везде разная, то все будет сортироваться по дате как раньше.

          Поэтому! Вникаем в смысл: я сказал заменить created на id
          Т.е. должно получиться типа так:
          ORDER BY prior DESC, id ASC, id DESC

          Соответственно, последнее получается лишним, т.е. в итоге достаточно просто

          ORDER BY prior DESC, id ASC
          • 24 июля 2012 г.
          • не помогло
            • 24 июля 2012 г.
            • Ну как это не помогло... Это единственное место в коде, где идет сортировка по дате. Если поменять поле сортировки, оно не может не работать.
              Варианта два: либо Вы кеширование не отключали, либо не то и не там правили.
              • 24 июля 2012 г. , редакция: 24 июля 2012 г.
              • блин про кеш забыл))
                а выводится вот так 81 строка файл clauses.model.php
                Цитата
                ." AND created<%d ORDER BY prior DESC, id ASC",
  • 21 июня 2013 г. , редакция: 22 июня 2013 г.
  • А как это сделать в версии 5.2? Если что, 81 строка здесь вообще свободна, а вышепредложенные спомобы не помогают.

    И почему такое не реализовать а админке...
    • 21 июня 2013 г.
    • Поиском ORDER BY поищите в модели. Не 82 строка, так 93 какая-нибудь. Вы знакомы с SQL-запросами?
      • 22 июня 2013 г.
      • Виталий, Вы про какой файл? Если clauses.model.php - то далеко не 93, и даже не 193, аж 423
        • 23 июня 2013 г. , редакция: 23 июня 2013 г.
        • Может я чего не понял, менял .
          Код
          " ORDER BY sort ASC, id ASC",
          на следующие
          ." ORDER BY sort DESC, id ASC",
          ." ORDER BY sort ASC, id DESC",
          ." ORDER BY sort DESC, id DESC",

          никаких изменений(
          • 23 июня 2013 г.
          • Сейчас точно не помню (искать времени нет), но это место вроде сортирует статьи в списке внутри категорий. Т.е. не всюду как раньше. Необходимо сортировку менять еще в нескольких местах этого файла. Везде выставил DESC.
            Чую, после каждого серьезного обновления вновь и вновь придется вспоминать и снова кастомизировать... Вот ребята-разработчики молодцы! На чью глупость повелись???
            • 24 июня 2013 г.
            • Цитата
              На чью глупость повелись?

              Собственно ничью, каждый модуль создаётся путём переноса и дополнения уже существующего похожего модуля. Вот так и получилось.
            • 25 июня 2013 г.
            • Это косяк, походу. Действительно где-то что-то при обновлении недоперенеслось, неперевыставилось.
              Сортироваться должно DESC, конечно же. Модуль статей от модуля новости тем и отличается, что сортировка новостей идет по дате, а сортировка статей мышкой, как угодно пользователю. Конечно, свежие должны быть сверху, и новости по "DESC created" и статьи по "DESC sort".
              • 27 июня 2013 г. , редакция: 27 июня 2013 г.
              • Ну вот разобрались

                Надеюсь в следующей версии будет обновление, а то если сотню статей публиковать, не все же мышкой перетягивать.
    • 22 июня 2013 г. , редакция: 22 июня 2013 г.
    • Цитата
      И почему такое не реализовать а админке...

      Потому что так задумано начиная с версии 5.2. Что очень странно.
      • 25 июня 2013 г.
      • Ничего не задумано. Как-то непонятно получилось, почему мы не акцентировали внимание на этой ошибке. Поправим в пакет.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум