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

Вывод новостей на главной при подключенных категориях

  • 27 августа 2012 г.
  • Делаю блог. Как вывести на главной все записи по дате добавления.

    Сейчас выводится так: категория, заданное количество новостей из категории, след категория итд.
    Надо чтоб выводились все записи блога по дате добавления.
  • 28 августа 2012 г.
  • Я почему то думал, что форум разбит по модулям и не стал уточнять . Я пытаюсь сделать на базе модуля новостей. Уперся пока в то, что не получается на главной странице (прикрепил к ней модуль новостей) вывести все новости по дате добавления без учета созданных категорий. Однако не получается, навыков программиста не имею, а файл view я так понимаю тут не причем.
    • 29 августа 2012 г.
    • Это почему очень даже причём. Можно конечно прыгнуть выше головы и выкрутить гайки в моделе. Впрочем возможно так будет удобнее в данном случае.
    • 29 августа 2012 г.
    • А, да, я не заметил категорию Пардон.
      Так-с, ну новости ж и так по дате сортируются? Или у Вас там несколько рубрик, и главная страница из этих рубрик и формируется, а надо просто единый список всего подряд?
      Это надо править и модель и вьюху. Версия 5.0?
      Тогда в моделе function first_page(), а шаблон modules/news/views/news.view.first_page.php.
      Сейчас принцип таков: в моделе берутся все категории, если они подключены, и из них выбираются несколько новостей. Затем они выводятся во вьюхе в этом же виде: категории и несколько новостей из каждой. Везде комментарии есть, код небольшой, должно быть понятно.
      • 29 августа 2012 г.
      • Хех... Мозгов хватило только на то, чтоб взять в модели функцию list_ клонировать её и переименовать в first_page... а старый first_page в first_page2. Был в шоке, но моя тупая логика сработала и все встало как надо. Спасибо.
        • 02 сентября 2012 г.
        • опишите пож-ста подробнее как вы сделали вывод, а то мне тоже очень нужно
    • 29 августа 2012 г.
    • А вообще для блога, по моему личному опыту, делить на категории не смысла. Обычно проще подключить новости к странице, отключить категории, чтобы все было в куче списком, а к каждой записи просто приделывать теги, мол, "техника", "мысли", "новинки". Вполне получается
  • 03 сентября 2012 г.
  • Решил попробовать создать блог на базе диафан. Делать решил на основе модуля новостей. Подготовил диз, сверстал и начал натягивать, но столкнулся с проблемой. Любой блог содержит разделы или рубрики и диафан поддерживает разделение новостей по категориям. Единственная проблема, которая встает на пути — вывод записей блога на главной странице с разбивкой по категориям. Блогов с такой разбивкой я не видел. Ниже довольно топорное решение не претендующее на идеальное с решением проблемы вывода новостей на главной без учета категорий.

    — Прикрепляем модуль новостей к главной странице
    Реализация:
    Страницы сайта → Главная страница → В разделе "Дополнительные параметры" напротив пункта "прикрепить модуль" ставим "новости".

    — Установка категорий для разделов блога
    Можно, конечно, просто создать доп страницы и к каждой прикреплять модуль новостей, но ведь есть категории новостей, которые и были для этого созданы.
    Реализация:
    Новости → настройка → напротив пункта "Использовать категории" ставим галку.
    Далее настраиваем вывод категорий в меню. Теперь новости выводятся на главной, но разбиты по категориям и в каждой категории выводится по несколько новостей. Это происходит из за того, что при установке галки "использовать категории" в модуле новостей начинает использоваться другой шаблон для вывода и теперь на главной странице вместо "Шаблона для списка элементов" (news.view.list.php) используется "Шаблон для первой страницы модуля" (news.view.first_page.php). Просто заменить вывод шаблона для первой страницы на вывод списка у меня не получится.

    — Настраиваем меню, создаем тестовые записи

    — Выводим список элементов при включенной галке категорий
    За формирование данных для вывода в шаблон отвечает файл "news.model.php" (modules/news/news.model.php). Копируем его себе на хостинг.
    В этом файле нас интересуют 2 функции public function list_() и public function first_page() — где вторая мешает реализовать задуманное, а первая как раз отвечает за вывод всех новостей подряд. Задача в том, чтоб заставить работать public function first_page() так же как public function list_(), выводя новости без учета категорий. Надеюсь, понятно объяснил.
    Реализация:
    Убиваем содержимое public function first_page() (строки с 215 по 389) и на это место вставляем скопированные строки (с 30 по 207 строку) из public function list_().
    Вместо убивания функции public function first_page() можно её просто переименовать, создав новую функцию public function first_page() с содержимым public function list_().Заливаем обратно на хостинг.

    Решение топорное, но другого не знаю.

    Дальше всё просто — настраиваем файлы views под себя.
    http://cms.diafan.ru/dokument/full-manual/modules/news/ тут мануал на тему новостей.
  • 26 августа 2014 г.
  • Встала такая же проблема, сделал все как описано, да действительно новости стали выводится списком как надо. Но появилась проблема. Теперь в анонсы не передается информация из какой категории данный пост. Каким образом можно это поправить?

Новости

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