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

alpha-helix

  • Осваиваюсь на форуме
  • 72
  • 1
Всем привет  ^-^

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

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

voland

  • Профи
  • 9497
  • 422
  • Эта строка съедает место на вашем мониторе
*

White_Tiger

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

JLang

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

robert

  • Профи
  • 4075
  • 376
Компонент+плагины=вывод_константы? Вам же сказали
JText
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

Arkadiy

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

JLang

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

robert

  • Профи
  • 4075
  • 376
Если нужно выводить что-то в материале, то достаточно 1 плагина, зачем компонент?
Не нужно
подключение языкового файла прописать в каждом модуле
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

Arkadiy

  • Группа развития
  • 5350
  • 440
  • Крепитесь, други.
Топикстартер хочет выводить один раз написанный телефон в разных частях шаблона, на разных станицах и т.п. Как пример - телефон нужен в шапке, в футере, на станице контактов и т.п.
*

JLang

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

Arkadiy

  • Группа развития
  • 5350
  • 440
  • Крепитесь, други.
Ваш вариант создает необоснованную и довольно большую нагрузку на сервер. Именно в этом смысле он не пригоден.
*

JLang

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

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

robert

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

P.S. JLang, и ваш плагин DirectPHP мне тоже не очень нравится: та же необходимость regular expression, еще и eval().
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

JLang

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

Есть у меня и 3я идея  ::)
Практически без сервера, через подключенный js
Спойлер
[свернуть]
*

robert

  • Профи
  • 4075
  • 376
Есть у меня и 3я идея  ::)
Практически без сервера, через подключенный js
Вы переложили работу сервера на браузер - тоже неплохо, если список констант и мест их вывода не очень большой, иначе счет времени выполнения всех циклов может идти на десятки секунд.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Интротекст в модуле

Автор alpha_ru

Ответов: 3
Просмотров: 76
Последний ответ 18.09.2017, 19:45:23
от alpha_ru
Вывести только материал без оформления

Автор SuschnosT

Ответов: 0
Просмотров: 49
Последний ответ 18.09.2017, 13:25:04
от SuschnosT
Вывести материалы из подкатегорий с сортировкой по дате

Автор sega

Ответов: 2
Просмотров: 92
Последний ответ 11.09.2017, 20:23:19
от Septdir
В материале блога сделать возврат к списку

Автор baskethome

Ответов: 8
Просмотров: 79
Последний ответ 08.09.2017, 13:36:32
от baskethome
Вывод компонента в модуле

Автор ChervonStudio

Ответов: 1
Просмотров: 67
Последний ответ 01.09.2017, 21:49:38
от Филипп Сорокин