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

alpha-helix

  • Захожу иногда
  • 80
  • 1 / 0
Всем привет  ^-^

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

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

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

White_Tiger

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

JLang

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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Компонент+плагины=вывод_константы? Вам же сказали
JText
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Arkadiy

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

JLang

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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Если нужно выводить что-то в материале, то достаточно 1 плагина, зачем компонент?
Не нужно
подключение языкового файла прописать в каждом модуле
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Arkadiy

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

JLang

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

Arkadiy

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

JLang

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

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

robert

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

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

JLang

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

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

robert

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

Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 1516
Последний ответ 06.10.2023, 14:02:24
от Mitriy
Как вставить картинку материала в модуле Последние материалы?

Автор androv77

Ответов: 13
Просмотров: 1114
Последний ответ 20.12.2022, 08:37:38
от marksetter
Комментарии в материале

Автор tmpnikl

Ответов: 0
Просмотров: 260
Последний ответ 09.12.2022, 09:09:02
от tmpnikl
Вывести поля профиля Joomla

Автор romagromov

Ответов: 9
Просмотров: 601
Последний ответ 09.12.2022, 08:43:08
от sivers
Как вывести в категории VirtueMart кастомное поле с редактором?

Автор dc_web

Ответов: 4
Просмотров: 374
Последний ответ 05.10.2022, 11:07:00
от sivers