Новости Joomla

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления...

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления...

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления JoomShopping и работы с его данными. Расширение может:Товары:- отображение списка товаров в удобном информативном виде,- дополненные возможности фильтрации товаров в списке,- возможность быстрого удобного просмотра базовой статистики по товарам.- расширенные возможности поиска по товарам,- возможности анализа базовой подготовки SEO параметров товаров, с возможностью перехода к отфильтрованным товарам с "проблемами"- анализ базовой SEO подготовки товаров проводится по всем установленным для магазина языкам- редактирование товара (в апдейтах)Заказы:- отображать заказы в удобном виде,- обеспечивает широкие дополненные возможности фильтрации,- предоставляет расширенные возможности поиска по полям заказов,- возможность быстрого удобного просмотра базовой статистики по заказам.- планируются дополнительные возможности статистики и анализа продаж. (отдельными расширениями)Клиенты:- отображать список клиентов в удобном виде,- предоставляет расширенные возможности поиска по полям клиентов,- возможность быстрого удобного просмотра базовой статистики по клиентам.- исключена возможность блокировки собственной учетной записи, чтобы не утратить контроль для доступа в админпанель,- добавлено поле заметок для клиента (интегрированы заметки пользователя Joomla), что дает дополнительные возможности для работы разных менеджеров с клиентом.- планируются дополнительные возможности работы с клиентами (отдельными расширениями)Системные требования: JoomShopping 5.5+, PHP 8.1+Вопросы по расширению к участнику нашего сообщества @IhorNVGСтраница расширения#JoomShopping #расширения

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм...

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм...

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм переопределения макетов Joomla: скопируй нужный тебе файл макета в папку html шаблона и твори там что хочешь. Это в полной мере относится и к пользовательским полям Joomla.Joomla ищет макеты рендера всех пользовательских полей в следующем порядке:- Есть ли файл templates/[template name]/html/layouts/[component name]/fields/render.php , переопределяющий макет вывода полей для конкретного компонента? Да - используем его.- Нет? Есть ли файл components/[component name]/layouts/fields/render.php в папке компонента? Да - используем его.- Нет? Есть ли файл templates/[template name]/html/layouts/com_fields/fields/render.php, переопределяющий вывод полей для com_fields? Да - используем его.- Нет? Используем файл components/com_fields/layouts/fields/render.phpЭто механизм поиска переопределений файлов макетов. Вчера столкнулся с тем, что если поле вставлено в текст материала с помощью шорт-кода (кнопкой редактора) вида {field 25}, то переопределения не сработали. Поэтому стал вспоминать как сделать свой макет для поля Joomla. Файл components/com_fields/layouts/field/render.php копируем в templates/YOUR_TEMPLATE/html/layouts/com_fields/field/etapy-raboty-nad-proektom.php. Обратите внимание, что мы файл переименовали, чтобы в настройках поля видеть его в выпадающем списке. После этого всё заработало как надо. Благо, переводил уже раньше статью Как происходит рендер пользовательских полей в Joomla?. Потом, порывшись по своему же переводу увидел, что эта особенность работы Joomla в статье уже в ней описана 😂. А также напомнил себе о возможности указывать макет поля прямо в шорт-коде, через запятую: {field 25,etapy-raboty-nad-proektom}. Правда, если честно, никогда этой возможностью не пользовался. @webtolkru#joomla #php #разработка #webdev

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

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Доброго времени суток.

Пытаюсь добавить поддержку многоязычности в модуль S5 MailChimp Signup - никак не получается.

Вот например часть кода:
Код
	if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/i", $_GET['email'])) {
return "Email address is invalid";
}

Как вместо "Email address is invalid" выводить значение константы из языкового файла?

Собственного самого языкового файла там нет и я проделал следующее:

1. Создал файл languages/en-GB/en-GB.mod_s5_mailchimp_signup.ini

2. В mod_s5_mailchimp_signup.xml добавил:
Код
	<languages folder="languages-front">
<language tag="en-GB">mod_s5_mailchimp_signup.ini</language>
    </languages>

3. В en-GB.mod_s5_mailchimp_signup добавил:
Код
MOD_S5_MAILCHIMP_SIGNUP_ERROR_INVALID_EMAIL="Invalid Email Address"

Потом пытаюсь вывести константу вместо стандартного текста:
Код
	if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/i", $_GET['email'])) {
return JText::_('MOD_S5_MAILCHIMP_SIGNUP_ERROR_INVALID_EMAIL');
}

В результате на сайте отдает название самой константы, вместо его значения из языкового файла   ^-^

Подскажите, что я пропустил или не так сделал  ;D
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Включите отладку языков и посмотрите, он подгружается для этого модуля?
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Включите отладку языков и посмотрите, он подгружается для этого модуля?

Выводится ??MOD_S5_MAILCHIMP_SIGNUP_ERROR_INVALID_EMAIL??
Это значит, что не может найти файл языка или соответствие в нём?

Сам языковой файл судя по системной отладке вроде подгружается:
Код
**Loaded** : JROOT/language/en-GB/en-GB.mod_s5_mailchimp_signup.ini

Прошу прощения за глупый вопрос, но как Joomla в данном случаи знает путь к файлу языков? Через XML?

Т.е. есть строка
Код
return JText::_('MOD_S5_MAILCHIMP_SIGNUP_ERROR_INVALID_EMAIL');
А как указать, где должен производиться поиск по константе MOD_S5_MAILCHIMP_SIGNUP_ERROR_INVALID_EMAIL?

А то ведь в самом модуле изначально нет поддержки многоязычности и текст на английском в оригинале пишется напрямую в коде, а не через константу. И по сути вместо этого текста я просто подставляю константу через JText... правильно ли это?
« Последнее редактирование: 14.04.2016, 15:08:28 от wd »
*

b2z

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

Выводится ??MOD_S5_MAILCHIMP_SIGNUP_ERROR_INVALID_EMAIL??
Это значит, что не может найти файл языка или соответствие в нём?

Сам языковой файл судя по системной отладке вроде подгружается:
Код
**Loaded** : JROOT/language/en-GB/en-GB.mod_s5_mailchimp_signup.ini

Прошу прощения за глупый вопрос, но как Joomla в данном случаи знает путь к файлу языков? Через XML?

Т.е. есть строка
Код
return JText::_('MOD_S5_MAILCHIMP_SIGNUP_ERROR_INVALID_EMAIL');
А как указать, где должен производиться поиск по константе MOD_S5_MAILCHIMP_SIGNUP_ERROR_INVALID_EMAIL?

А то ведь в самом модуле изначально нет поддержки многоязычности и текст на английском в оригинале пишется напрямую в коде, а не через константу. И по сути вместо этого текста я просто подставляю константу через JText... правильно ли это?
В XML нужно прописывать, чтобы языковой файл устанавливался вместе с модулем.

А так язык подгружается автоматом в хелпере:
https://github.com/joomla/joomla-cms/blob/staging/libraries/cms/module/helper.php#L182-L186

Судя по отладке, действительно файл загружен. Вот почему не находит строку, это странно.
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
А вот helper.php отсутствует в директории модуля - его в этом случаи нужно подключить? Если да - это сложное дело? :)
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
языковой файл в кодировке utf-8 без bom?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
языковой файл в кодировке utf-8 без bom?

Так точно.

Может у кого-то есть возможность поставить этот модуль и попробовать подключить к нему языковой файл?
Сам модуль бесплатный, скачать можно тут.
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Или может есть ещё идеи почему не работает?

Helper.php вообще нужен внутри папки модуля и что значит, если его нет?
Или он по-умолчанию подгружается для всех модулей, даже если внутри такого файла нет?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
wd, helper.php не обязателен.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
А может быть из-за того, что всё это подгружается через AJAX?
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Значения, которые хочу перевести находится в файле store-address.php и выводятся без перезагрузки страницы:

Спойлер
[свернуть]

Сообщения 'Success! Check your email to confirm sign up.' , 'Error: ', "Email address is invalid" и "No email address provided" выводятся без перезагрузки страницы (т.е. используется AJAX, если я правильно понимаю). Правда не знаю имеет это значение или нет, потому и спрашиваю :)

Ещё заметил, что там кавычки разные (кавычки в которых выводится текст статуса отправки) - где-то двойные, а где-то одиночные... тоже не знаю имеет ли это значение :)
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Ну и причём тут модуль? Всё находится в отдельном файле... Подгрузите язык, как это делает helper модуля.
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Ну и причём тут модуль? Всё находится в отдельном файле... Подгрузите язык, как это делает helper модуля.

Так этот файл внутри директории модуля mod_s5_mailchimp_signup/files/store-address.php - это получается не связанный с модулем файл?
helper.php в этом модуле отсутствует... или как можно посмотреть, как это делает helper?
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Я, кажется, начинаю понимать. У меня была похожая ситуация.

Сообщения, вписанные в Javascript, стандартному переводу не подлежат - по крайней мере, у меня не получилось. Я в месте подключения скрипта проводила проверку на активный язык и в зависимости от него подключала версии скриптов с вшитым переводом на разные языки.

Как сделать это корректнее пока не придумала.

Здесь не переводится, наверное, потому, что в AJAX проверка на язык не включена. Можно тоже сделать проверку на язык прямо в файле.
« Последнее редактирование: 19.04.2016, 10:46:03 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Спасибо всем за помощь и советы.
Taatshi, у меня уже возникала подобная, но более брутальная идея - сделать три сборки модуля для трех языков )
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
А разве здесь Javascript? Вроде как PHP.

Код: php
$lang = JFactory::getLanguage();
$lang->load('mod_s5_mailchimp_signup', JPATH_BASE, null, false, true);
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
А разве здесь Javascript? Вроде как PHP.

Код: php
$lang = JFactory::getLanguage();
$lang->load('mod_s5_mailchimp_signup', JPATH_BASE, null, false, true);

О, спасибо! Заработало. Я неправильно писал код из helper...
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Добрый вечер.

Прошу прощения за дилетантство в данном вопросе, но возникла ещё проблема с этим модулем из ряда "мистическая"...

Проблема в том, что значение констант берется только из английского ini файла.
Есть к примеру файл с переводом на немецкий, из отладки видно, что он подключен:
Код
**Geladen** : JROOT/language/de-DE/de-DE.mod_s5_mailchimp_signup.ini
Но на немецкой версии сайта выводится перевод на английском.

Сами языковые файлы проверил - там всё правильно (переводы есть).

Подскажите, пожалуйста, в чём может быть проблема?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Видимо по какой-то причине не подхватывает другой язык... Попробуйте так:
Код: php
$lang->load('mod_s5_mailchimp_signup', JPATH_BASE, $lang->getTag(), false, true);
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Видимо по какой-то причине не подхватывает другой язык... Попробуйте так:
Код: php
$lang->load('mod_s5_mailchimp_signup', JPATH_BASE, $lang->getTag(), false, true);

Не помогло... по-прежнему выводит только английский.
*

wd

  • Давно я тут
  • 538
  • 17 / 1
  • Просто юзер
Попробовал вот такое решение (получить текущий язык из url) - подглядел у соседей на forum.joomla.org:

Код
	
// load language string definitions in url
$app = JFactory::getApplication('site');
$app->initialise();
$lang = JFactory::getLanguage();
$url = getenv("HTTP_REFERER");
$choice_lg = strpos($url_lg, "/en/");
if ($choice_lg === false) $lg_tag = "de-DE";
else $lg_tag = "en-GB";
$extension = 'mod_s5_mailchimp_signup';
$base_dir = JPATH_SITE;
$lang->load($extension, $base_dir, $lg_tag, true);

Но в этом случаи наоборот - выдает всё время перевод из немецкого файла локализации (даже на английской версии).

Может можно как-то допилить этот код, чтобы он корректно работал для 3 языков (русский, немецкий, итальянский)?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Частично не переводится модуль

Автор fireman

Ответов: 33
Просмотров: 9212
Последний ответ 04.04.2021, 10:37:59
от Akeksandr
Как установить/добавить язык, если его нет в списке Joomla?

Автор rafaello9

Ответов: 5
Просмотров: 12800
Последний ответ 15.05.2020, 13:35:06
от Ilhom666
Какой использовать модуль для меню с картинками?

Автор Евгений1980

Ответов: 7
Просмотров: 3755
Последний ответ 30.03.2020, 18:09:40
от Евгений1980
Отключение многоязычности?

Автор ant

Ответов: 2
Просмотров: 7118
Последний ответ 16.07.2019, 14:51:15
от dron
Как добавить язык если его нет в стандартных?

Автор Dolphin4ik_1

Ответов: 0
Просмотров: 1250
Последний ответ 29.01.2019, 23:14:21
от Dolphin4ik_1