Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 420 Просмотров
*

cahobad

  • Осваиваюсь на форуме
  • ***
  • 45
  • 0
Друзья, всех приветствую!

Столкнулся с такой сложностью - не могу локализовать всплывающее сообщение. В компоненте IPrice calculator LIGHT в настройках есть поле "текст после отправки заказа". И он будет таким, каким его напишешь. А что делать, если на сайте несколько языков? Как можно сделать так, чтобы подставлялась отдельная надпись для каждого языка?

Вот код, который отвечает за вывод этого сообщения (насколько я понимаю):
Код: xml
<field name="finishtext" type="textarea" rows="3" cols="30" default="" label="Text_after_order_submitted" description="TEXT_AFTER_ORDER_SUBMITTED_DESC" />

*

cahobad

  • Осваиваюсь на форуме
  • ***
  • 45
  • 0
я думаю - может что нибудь вставить по типу:
Код: php
<?php echo JText::_('MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC');?>

чтобы подгуражало именно из языковых пакетов, но как это соединить??

*

robert

  • Профи
  • ********
  • 4009
  • 371
Код: php-brief
<field name="finishtext" type="textarea" rows="3" cols="30" translate_default="true" default="MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC" label="Text_after_order_submitted" description="TEXT_AFTER_ORDER_SUBMITTED_DESC" />
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

cahobad

  • Осваиваюсь на форуме
  • ***
  • 45
  • 0
а как теперь заставить систему выдавать именно это сообщение? В настройках компонента по адресу: /administrator/index.php?option=com_config&view=component&component=com_ipricecalc есть отдельное поле "Текст после отправки заказа *". Это поле обязательное и пишет только то, что вписано туда....

*

robert

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

*

cahobad

  • Осваиваюсь на форуме
  • ***
  • 45
  • 0
robert, без обид! но не сработало. Я добавил этот код (если я умею читать, то добавил только translate_default="true" default="MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC" ). Но в настройках компонента указана фраза "Спасибо за заказ". Эта фраза указана на русском. И там звёздочка стоит, если удалить эту фразу - то настройки не сохраняются. При оформлении заказа - вылезает только текст на русском, только "Спасибо за заказ", а не подгружаемый из MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC.

Может я плохо объяснил... Сейчас постараюсь ещё раз.

Есть компонент, который прекрасно работает с мультиязычностью, за исключением одной детали - сообщение о том, что заказ принят - указывается отдельно в настройках. Это сообщение не прописано в языковых пакетах к компоненту. Оно отдельно задаётся.

Я же хочу сделать для каждого языка сообщение о том что заказ принят отдельное. Как я это вижу - я добавляю в файл ru-RU.com_ipricecalc.ini отдельную строчку:

ZAKAZ="Благодарим Вас за заказ! В ближайшее время нам менеджер Вам перезвонит"

И как то бы это указать компоненту. Что бы компонент забил на ту строчку в настройках и брал информацию из языкового пакета.

Может это можно как то по другому решить, я не знаю, честно... Но буду очень рад помощи!

*

robert

  • Профи
  • ********
  • 4009
  • 371
В ru-RU.com_ipricecalc.ini:
Код: php-brief
MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC="Благодарим Вас за заказ! В ближайшее время нам менеджер Вам перезвонит"
, в en-GB.com_ipricecalc.ini:
Код: php-brief
MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC="Go away, you motherf*! No one is going to call you."
Если вы правили тот XML, то при смене языка должно меняться и значение константы.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

cahobad

  • Осваиваюсь на форуме
  • ***
  • 45
  • 0
robert, да, я понимаю... я так и сделал... во все 4 языка добавил... Но не сработало... значит просто где то ещё какая то деталь есть, которую я не знаю...

*

robert

  • Профи
  • ********
  • 4009
  • 371
Ааа, кажется, я врубился: это поле у вас сохраняется в БД, поэтому его значение динамически не меняется crazy!. Плюньте на него, найдите файл шаблона, где это сообщение выводится: ищите по "finishtext" - это должно быть свойство какого-нибудь объекта или элемент массива - и вместо него выводите сообщение напрямую, что-то вроде
Код: php-brief
echo JText::_('MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC');
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

cahobad

  • Осваиваюсь на форуме
  • ***
  • 45
  • 0
robert, ясно! Спасибо! Завтра так и попробую, как что выйдет - сразу отпишусь!

*

cahobad

  • Осваиваюсь на форуме
  • ***
  • 45
  • 0
robert, ещё раз прошу помощи. Не могу сообразить как правильно написать. Нашёл данную фразу в файле controller.php. Код там вот такой:

Код: php
$msg = $finishtext;

как правильно прописать echo JText::_('MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC'); ?

*

robert

  • Профи
  • ********
  • 4009
  • 371
Код: php-brief
$msg=JText::_('MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC');
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

cahobad

  • Осваиваюсь на форуме
  • ***
  • 45
  • 0
robert, спасибо! Всё получилось))))