Забыли пароль?
Запросите новый здесь.

Автор темы: Oleg
ID темы: 3079
Информация:
Тема содержит 10 сообщения, была просмотрена 8586 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Моды
 Распечатать тему
Панель "последние статьи" в зависимости от языка сайта и категории статьи
Oleg
Доброго времени суток. Делаю мультиязычный сайт на PF 8.

Нужна помощь тех, кто знает PHP, а именно с панелькой последних статей. Условие чтобы последние статьи выводились в зависимости от языка сайта и категории данной статьи. Сделал так, но это не то, поскольку в отображении переменных через echo выводит пустую строку где if запрещает, а нужно чтобы пустых строк не выводило, будто статьи не существует:

Скачать исходники  Код
   if (dbrows($result)) {
      while($data = dbarray($result)) {
         if (LANGUAGE == "Russian" && $data['article_cat_id'] == "1") {
      $itemsubject = trim_text($data['article_subject'], 100);
      $itemsnippet = trim_text($data['article_snippet'], 300);
         }
         elseif (LANGUAGE == "English" && $data['article_cat_id'] == "2") {
      $itemsubject = trim_text($data['article_subject'], 100);
      $itemsnippet = trim_text($data['article_snippet'], 300);
         }
         else {
      $itemsubject = FALSE;
      $itemsnippet = FALSE;
         }



Изменил(а) Oleg, 31.10.2019 15:46
 
Polarfox
8?
я хз, обычно либо 7 либо 9
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Oleg
Polarfox, да тут версия особой роли не играет. Я весь код даже не стал выкладывать, потому что помощь требуется с небольшим скриптом. Максимум что тут можно объяснить, только примеры :
LANGUAGE == "Russian" - константа выбранного языка равно значение.
Ну и $data['article_cat_id'] == "1" - это категория статьи равно номер значения.
Что такое $data['article_subject'] и $data['article_snippet'] - думаю сами знаете что это, одинаково хоть 6,7,8, может и 9. Название таблиц для заголовка статьи и сниппета тоже самое.
$itemsubject и $itemsnippet - переменные для вывода через echo заголовка статьи и сниппета.
Всё.
Изменил(а) Oleg, 29.10.2019 15:14
 
Polarfox
а в чем вопрос?
на выводе нужно просто править в теме, если там есть пустое оформление, не только тут.

ну или как вариант - просто на выводе править, это может проще быть хоть и неправильно.

или вообще отправлять 404 вместо вывода, раз не нужно страницу.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Oleg
Polarfox написал:
а в чем вопрос?

Сделал так, но это не то, поскольку в отображении переменных через echo выводит пустую строку где if запрещает, а нужно чтобы пустых строк не выводило, будто статьи не существует


Polarfox написал:или вообще отправлять 404 вместо вывода, раз не нужно страницу.

Это как?

Попробую объяснить максимально подробно. Есть простая стандартная панелька последних статей latest_articles_panel как на той же PF7. Код тот что я привёл в первом посте этой темы, - мелкая переделка в этой панельке, которая отображает последние статьи в зависимости от выбранного пользователем языка и категории статьи. За выбранный язык отвечает константа LANGUAGE и $data['article_cat_id'] - это номер категории статьи выводимый из таблицы базы данных.

Теперь попробую объяснить недостаток скрипта из if приведённого выше: если к примеру выбран русский язык, скрипт отображает последние статьи на русском, - т.е. выводит текст, но проблема в том, что отображает и английский в виде пустой строки, без текста. Выглядеть это может так:

- 3 статья на русском
- (пусто)
- 2 статья на русском
- 1 статья на русском
- (пусто)

И вот, это "пусто" - место от статьи на English. А мне в данном случае нужно чтобы этого "пусто" не было. Недостаток в том, что if блокирует только текст (
Изменил(а) Oleg, 29.10.2019 20:02
 
Polarfox
вывод панели нужно поменять просто
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Oleg
Polarfox написал:
вывод панели нужно поменять просто


Почти так и оказалось. Вывод echo просто перенёс внутрь двух if-ов с языками до закрытых массивов.
x1
 
Vveb--ws
у меня в bogatyr есть мультиязычность в зачаточном состоянии. cms добавляет новые поля в БД для заголовка и текста с префиксом языка. в зависимости от установленых языков.
работает в блоге. вкладки языка появляются если заполнены поля дополнительного языка.

скачать - в подписи

PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи

vk.com/phpfusion
Создаю интернет-магазины и блоги, лендинги, форумы. Telegram: t.me/Vova_Kazakov
 
Web
Oleg
Vveb--ws написал:
у меня в bogatyr есть мультиязычность

А ещё лучше есть PF9 на который я не хочу переходить, не говоря о том, что вы предлагаете. Я уже смотрел ваше изобретение, но критиковать не хочу, чтобы вас не огорчать... просто отвечу, - я на такой cms не перейду. Без обид.

Насчёт мультиязычности на нынешней бетте PF 8.0.22 при уже исправленных багах, движок вообщем-то уже имеет полноценную поддержку мультиязычности. Выше я выразился не правильно, поправил пост, - на категории статей выбирается язык. Было бы странно, если бы для категории был выбран русский язык, а для статьи в ней английский. Тут и так понятно почему разработчики не стали делать выбор языка для статей, потому что для этого есть категории.
 
Vveb--ws
в моей теме можете критиковать. я что-то исправлю. чтото проигнорирую.

PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи

vk.com/phpfusion
Создаю интернет-магазины и блоги, лендинги, форумы. Telegram: t.me/Vova_Kazakov
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)