0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 1171 Просмотров
*

x1

  • Давно я тут
  • 617
  • 15 / 0
  • Linux — это Windows для бытовой техники
Подскажите пожалуйста, как заставить плагин обрабатывать материалы только на английском языке? С модулями и статьями понятно, а как быть с плагином? Любые хаки плагина приветствуются.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Имхо, примерно так: раз это контент-плагин, он должен иметь доступ к параметрам материала, а там и язык прочитать не сложно, а потом тупо смотреть: язык en-GB ? обрабатываем контент : проходим мимо, как и советуют.
А вот как получить доступ к параметрам материала - я не знаю.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Язык не хранится в параметрах, а в поле таблицы lang. Поэтому плагином придется делать запрос в базу и проверять, что записано в поле lang.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Тогда достаточно знать id материала. Как получить его в контент-плагине?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
В контент плагин всегда передается объект статьи. Обычно через параметр $article или $row, соответсвенно $article->id или $row->id
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
$row->id ?
Тогда решение на поверхности.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
$lng = JFactory::getLanguage()
это одиночка, фабричный метод никаких лишних запросов не должно быть
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Хмм, действительно, что-то я не подумал. Базу даже дергать не придется, так как язык будет в $row->lang ;)
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Код: php-brief
$lng = Factory::getLanguage();
это одиночка, фабричный метод никаких лишних запросов не должно быть
Как это поможет в данном случае? Это просто вернет текущий язык, но никак не язык материала.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Хмм, действительно, что-то я не подумал. Базу даже дергать не придется, так как язык будет в $row->lang ;)
Вот я кстати, когда упомянули про передачу объекта статьи, тоже об этом подумал, даже в базу заглянул посмотреть, что и как там храниться.
Действительно, $row->language; - язык материала, содержит '*' для указания "Для всех языков".

Осталось только выяснить у ТС, о каком плагине идет речь ))
*

x1

  • Давно я тут
  • 617
  • 15 / 0
  • Linux — это Windows для бытовой техники
а потом тупо смотреть: язык en-GB ? обрабатываем контент : проходим мимо, как и советуют.
Спасибо за совет, именно так и сделал. Плагин popup_anhywere http://codextension.com, который отображает во всплывающем окне картинку. Сайт двуязычный, с компонентом Falang, который конечно плагины не переводит, а уж картинки темболее. Потому в зависимости от языка решил отображать разные картинки. Решил простым способом - к имени англоязычной картинки в конце добавлял "-eng" ну и соотвественно гружу ее в плагине при переключении языков в Falang:
Код
// проверка имени
echo $image; // отображается "images/events/имя_картинки.jpg"

$mylang = JFactory::getLanguage();
$mylang_code = $mylang->getTag();

if ($mylang_code=='en-GB') {
   $image =  str_replace('.jpg','-eng.jpg',$image);
  // проверка имени
  echo $image; // отображается "images/events/имя_картинки-eng.jpg"
}
« Последнее редактирование: 29.10.2014, 12:07:47 от x1 »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

x1

  • Давно я тут
  • 617
  • 15 / 0
  • Linux — это Windows для бытовой техники
Зашибись. В первом посте Вы вообще о другом писали...
Просто не точно сформулировал вопрос для себя, но суть кажется та же... как заставить плагин определить язык того, что он обрабатывает. А картинка это или текст, я разницы не вижу - на картинке подписи идут на 2-х языках между прочим. На то он и форум, что бы учится правильно задавать вопросы в том числе!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как выровнять блоки и где управлять размером блоков материалов?

Автор Riddik

Ответов: 11
Просмотров: 2052
Последний ответ 12.02.2016, 15:44:39
от slajt7
Обработка данных в компоненте перед сохранением

Автор ipservice

Ответов: 2
Просмотров: 1192
Последний ответ 27.07.2015, 12:46:01
от ipservice
Подключение рефералов. Обработка входящей ссылки

Автор vita1971

Ответов: 3
Просмотров: 1418
Последний ответ 03.02.2015, 16:09:50
от Ренат
Обработка добавления материала Joomla 3

Автор vita1971

Ответов: 2
Просмотров: 1060
Последний ответ 17.09.2014, 14:16:14
от saharin88
Написать фильтр материалов

Автор Mick_20

Ответов: 2
Просмотров: 1530
Последний ответ 15.07.2014, 12:40:21
от Mick_20