Форум русской поддержки Joomla!® CMS
09.12.2016, 09:50:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вывести языковую константу в материале\модуле?

 (Прочитано 480 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alpha-helix
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 69


« : 23.11.2015, 00:47:44 »

Всем привет  Smiley

Задача сделать набор текстовых констант и выводить их в нужных материалах и модулях.
Допустим мне нужно на сайте поменять номер телефона, который указан в шапке, в футере и в материалах. Вручную все это делать нудно и утомительно.
Но если изначально прописать это в HTML модулях и материалах константой, скажем, PHONE_NUMBER - было бы круто.

Гуглинг ничего не дал. Я видел такую фишку давно на Joomla 1.5, но не помню как там было сделано.
Записан
voland
Профи
********

Репутация: +488/-86
Offline Offline

Пол: Мужской
Сообщений: 8732


любит наш народ всякое гавно...


« Ответ #1 : 23.11.2015, 01:01:18 »

гуглите JText
Записан
White_Tiger
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 82


« Ответ #2 : 25.11.2015, 09:29:48 »

как вариант создать файлик .php, где будут описаны все константы.
а уже в нужном модуле забивать:
require_once(<файлик с описанием констант>);
.........
echo <нужная константа>;
Записан
JLang
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 107



« Ответ #3 : 25.11.2015, 09:43:00 »

Можно через компонент  RokCandy сделать. (исправился  Grin)
Создаёте макрос, например
Код:
:PHONE1:
и его HTML
Код:
+7 900 000 00 00
Затем в материале или модуле вставляете :PHONE1: (модули необходимо обрабатывать плагинами)
« Последнее редактирование: 25.11.2015, 09:46:16 от JLang » Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #4 : 25.11.2015, 10:13:30 »

Компонент+плагины=вывод_константы? Вам же сказали
JText
Записан
Arkadiy
Группа развития
*****

Репутация: +432/-0
Offline Offline

Пол: Мужской
Сообщений: 5316


Крепитесь, други.


« Ответ #5 : 25.11.2015, 10:22:05 »

JText не совсем подходит под эту задачу, точнее много букав надо писать чтобы осуществить эту возможность (подключение языкового файла надо прописать в каждом модуле), гораздо проще сделать файл с константами, подключить его в верху шаблона и использовать эти константы где угодно. Вариант с плагинами и дополнительными компонентами - просто ужас, не делайте так никогда.
Кстати для JText есть хорошая фича - /administrator/index.php?option=com_languages&view=overrides все константы можно прописать там, тогда просто в любом месте вызываем
JText::_('YOUR_CONSTANT');
Записан
JLang
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 107



« Ответ #6 : 25.11.2015, 10:27:50 »

Собственно, какой константы (надо понимать, автору нужно в тексте материала или модуля проставить что-то?)  можно прописать JText в материал хоть 100500 раз, но на выходе это будет лишь JText100500 раз и не более.
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #7 : 25.11.2015, 10:34:04 »

Если нужно выводить что-то в материале, то достаточно 1 плагина, зачем компонент?
Не нужно
подключение языкового файла прописать в каждом модуле
Записан
Arkadiy
Группа развития
*****

Репутация: +432/-0
Offline Offline

Пол: Мужской
Сообщений: 5316


Крепитесь, други.


« Ответ #8 : 25.11.2015, 13:25:13 »

Топикстартер хочет выводить один раз написанный телефон в разных частях шаблона, на разных станицах и т.п. Как пример - телефон нужен в шапке, в футере, на станице контактов и т.п.
Записан
JLang
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 107



« Ответ #9 : 26.11.2015, 01:08:56 »

Слово Допустим никак не означает единичного количества и определённого местоположения.
Как и Языковая константа, которая тут конкретно - просто КОНСТАНТА, постоянная - позволяющая мгновенно изменить определённое повторяющееся заданное ей значение.
В предложенном мною ужасном варианте (компонента, как раз для подобного случая написанного; без создания файлов, правок шаблона или ядра) автор сможет выводить и в любое время менять номер телефона(картинку, ссылку, текст, да хоть что) в любом месте контента сайта, хоть после каждой буквы по два раза.
И наконец - это только вариант и никак не конечная инстанция, к чему так реагировать?! dry
Записан
Arkadiy
Группа развития
*****

Репутация: +432/-0
Offline Offline

Пол: Мужской
Сообщений: 5316


Крепитесь, други.


« Ответ #10 : 26.11.2015, 07:36:10 »

Ваш вариант создает необоснованную и довольно большую нагрузку на сервер. Именно в этом смысле он не пригоден.
Записан
JLang
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 107



« Ответ #11 : 27.11.2015, 05:39:50 »

Если нужно выводить что-то в материале, то достаточно 1 плагина, зачем компонент?
Первое, что пришло на ум. Вам тоже сперва пришло мне ответить, а не автору.

Есть ещё вариант  Grin
Для вывода JText в контенте без правки кода. Через плагин DirectPHP, установив который, можно выводить переопределённые (или созданные) константы в тексте так:
Код:
<?php echo JText::_('YOUR_CONSTANT'); ?>
Показать текстовый блок
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #12 : 27.11.2015, 10:37:58 »

Вам тоже сперва пришло мне ответить, а не автору.
Не только вам, но и ТС, которому уже частично ответили. В общем:
- если нужно константу вывести в расширениях, то достаточно добавить ее в ru-RU.ini, например, и в нужном месте вызывать через Jtext.
- если нужно константу вывести в материалах, то без плагина не обойтись, но компонент точно не нужен: зачем плодить лишние расширения?

P.S. JLang, и ваш плагин DirectPHP мне тоже не очень нравится: та же необходимость regular expression, еще и eval().
Записан
JLang
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 107



« Ответ #13 : 27.11.2015, 11:01:21 »

- если нужно константу вывести в материалах, то без плагина не обойтись...
Его название автор и спрашивал, грубо говоря.

Есть у меня и 3я идея  Roll Eyes
Практически без сервера, через подключенный js
Показать текстовый блок
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #14 : 27.11.2015, 11:14:05 »

Есть у меня и 3я идея  Roll Eyes
Практически без сервера, через подключенный js
Вы переложили работу сервера на браузер - тоже неплохо, если список констант и мест их вывода не очень большой, иначе счет времени выполнения всех циклов может идти на десятки секунд.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet