Как вывести страницу новостей вместо главной страницы.

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

IvanIvanov
IvanIvanov
Репутация: 0
Сообщения: 9
Зарегистрирован: 12.09.2019
С нами: 4 года 6 месяцев

Сообщение #1 IvanIvanov » 12.09.2019, 18:43

Подскажите, как вывести вместо главной страницы, страницу новостей.

# Блог
RewriteRule ^([a-z]{2}/)?blog/([^/]+)/?$ index.php?module=BlogView&url=$2&lang_label=$1&type_post=blog [L,QSA]
RewriteRule ^([a-z]{2}/)?blog/?$ index.php?module=BlogView&lang_label=$1&type_post=blog [L,QSA]
# Новости
RewriteRule ^([a-z]{2}/)?news/([^/]+)/?$ index.php?module=BlogView&url=$2&lang_label=$1&type_post=news [L,QSA]
##RewriteRule ^([a-z]{2}/)?news/?$ index.php?module=BlogView&lang_label=$1&type_post=news [L,QSA] (закомментировал)

и вместо главной
##RewriteRule ^([a-z]{2}/?)?/?$ index.php?module=MainView&lang_label=$1&page_url=$2 [L,QSA] (закомментировал)
указал
RewriteRule ^([a-z]{2}/?)?/?$ index.php?module=BlogView&lang_label=$1&type_post=news [L,QSA]

Но почему-то главная отображается виде страницы 404

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #2 korshunov » 13.09.2019, 07:02

Пробуйте в view/BlogView.php заменить фрагмент
if (!in_array($this->type_post, array('blog', 'news'))) {
return false;
}
на
if (!in_array($this->type_post, array('blog', 'news'))) {
$this->type_post='news';
}

Вообще, по поводу этого фрагмента надо сказать, что сделано довольно странно и нерационально (речь про 2.3.4) - в самом классе, который предназначен для вывода, делается еще зачем-то проверка URL. Это задача должна решаться по-хорошему ВНЕ этого класса, до его вызова. А текущее состояние - выглядит весьма криво...

Например, если захочет кто-то поменять в адресе news на articles, то потребуется лишнее редактирование. Или захочет добавить третий тип. Или как в текущей теме - лишняя забота...

Понятно, что нужна лишняя проверка, что определять тип - news или blog, но в других-то подобных ситуациях это делается иначе - созданием параметра в htaccess. А текущее положение - явно костыльная самодеятельность разработчиков...

Будем надеяться, в версии 3 организуют получше...

IvanIvanov
IvanIvanov
Репутация: 0
Сообщения: 9
Зарегистрирован: 12.09.2019
С нами: 4 года 6 месяцев

Сообщение #3 IvanIvanov » 13.09.2019, 07:08

Спасибо тебе, korshunov. Проверил, всё заработало!


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 25 гостей