Новости Joomla

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам создания кастомных схем данных для сервера обновлений.

👩‍💻 v.2.6.1. Что нового?
- Правки наследования схем серверов обновлений. Улучшена логика наследования схем серверов обновлений для проектов компонент - категория - проект.
- Не стабильные релизы в сервере обновлений. Теперь в данные сервера обновлений попадают все версии (alpha, beta и т.д.), а не только stable.
- Косметические изменения. В шаблоне по умолчанию сделаны замены некоторых CSS-классов, уточнено присвоение атрибутов loading=lazy и fetchpriority.
- Рефакторинг и правки кода. Текущее обновление кодовой базы.
- Исправление ошибок.

👩‍💻 Больше спасибо за помощь в тестировании участникам нашего сообщества Александру Новикову (@pro_portal) и Александру Судьбинову (@alexrevo).

- Страница расширения
- GitHub расширения
- Joomla Extensions Directory

@joomlafeed

Событие Pizza, Bugs & Fun - 29-30 января 2026 года.

Событие Pizza, Bugs & Fun  - 29-30  января 2026 года.

Уже несколько лет в мире Joomla проводятся мероприятия "Pizza, Bugs & Fun" (#PBF), где каждый может посвятить несколько часов своего мозгового времени тому, чтобы наша любимая CMS стала ближе к идеалу.

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

В рамках события PBF все желающие могут собираться в общий онлайн чат, обсудить вопросы Joomla и приложить к их разрешению свою руку. Самый классный вариант, когда эта встреча происходит оффлайн: тогда организовывается пицца, напитки по вкусу и несколько часов совместного творчества.

Каждый помогает тем, что он умеет:

  • кто-то пишет недостающую документацию,
  • кто-то пишет код,
  • кто-то тестирует как исправлены ошибки или сделан новый функционал.

На сайте события есть карта, можно "захостить" свою локацию. Практически все движки в мире развиваются за счёт спонсирующих их компаний. Joomla одна из немногих, где развитие идёт только усилиями международного сообщества энтузиастов.

https://www.youtube.com/watch?v=a-FuVKXg_Uw 

На момент написания данного поста в репозитории Joomla 810 открытых Issue (как правило это баги) и 236 Pull request (PR, исправление багов и новый функционал). Все PR обязательно тестируются минимум двумя участниками сообщества, дабы в конечный код движка не проскочила ошибка.

Если каждый из участников только нашего сообщества сделает даже одно тестирование, то, боюсь, PR и Issue на всех не хватит 😀 И ничего не останется нашим коллегам из международных Joomla-чатов.

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

fsv

  • Moderator
  • 2787
  • 413 / 2
Регионы - отображение не кодом, а названием
С проверкой для РФ на совпадение названий региона и города.

Joomla 1.5.22 & VirtueMart 1.1.5 stable
Joomla 1.5.23 & VirtueMart 1.1.8 stable

Если названия города и региона совпадают, то выводится только название города без названия региона.
В РФ это:
- город «Москва» = 77 регион «Москва»
- город «Санкт-Петербург» = 78 регион «Санкт-Петербург»


На 1-м шаге заказа (основной адрес):

\components\com_virtuemart\themes\default\templates\checkout\ customer_info.tpl.php
стр.55
$db->p("state_2_code");
заменить на

для всех, кроме РФ:
$db->p("state_name");

для РФ:
if ($db->f("country_id") == '176') {
if ($db->f("state_2_code")!='77' && $db->f("state_2_code")!='78') {
$db->p("state_name");
}
}


На 1-м шаге заказа (дополнительные адреса доставок):

\components\com_virtuemart\themes\default\templates\checkout\ list_shipto_addresses.tpl.php
стр.65
echo $db->f("state_2_code"). " ";
заменить на

для всех, кроме РФ:
echo $db->f("state_name"). " ";

для РФ:
if ($db->f("country_id") == '176') {
if ($db->f("state_2_code")!='77' && $db->f("state_2_code")!='78') {
echo $db->f("state_name"). " ";
}
}

На 4-м шаге заказа:

\components\com_virtuemart\themes\default\templates\checkout\get_final_confirmation.tpl.php
МЕЖДУ  стр.52:  
  ), true );
и стр.53:
echo "</td></tr>";
вставляем:

для всех, кроме РФ:
echo $state_name;
echo "  ";
echo $db->f("zip");

для РФ:
$q = "SELECT state_2_code FROM #__{vm}_state WHERE state_2_code='".$db->f("state")."'";
$dbs->query($q);
$state_2_code = $dbs->f("state_2_code");
if ($country_id == '176') {
if ($state_2_code !='77' && $state_2_code !='78') {
echo $state_name;
echo "  ";
echo $db->f("zip");
}
else {
echo $db->f("zip");
}
}

в админке VirtueMart – Магазин – Информация о магазине - Формат адреса магазина:  убираем (если есть) {zip}


В кабинете Покупателя на странице заказа - «Управление учетной записью -> Информация о заказе»:

\components\com_virtuemart\themes\default\templates\pages\ account.order_details.tpl.php
перед примерно стр. 106
case 'country':
вставить:

case 'state':     
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbbt->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbbt->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );                                          
break;

перед примерно стр. 146 (до правок)
case 'country':
вставить:
то же


В приходящем Покупателю письме:

/comoponents/com_virtuemart/themes/ default /templates/order_emails/confirmation_email.tpl.php
перед примерно стр. 77
case 'country':
вставить:  см.выше (Информация о заказе)

перед примерно стр. 116 (до правок)
case 'country':
вставить:
case 'state':     
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbst->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbst->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );                                          
break;


В панели управления VirtueMart в информации о заказе – «Заказы – Список заказов – заказ#»:

administrator/components/com_virtuemart/html/order.order_print.php  

перед примерно стр. 225
case 'country':
вставить:
case 'state':     
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbt->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbt->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );                                          
break;

перед примерно стр. 263 (до правок)
case 'country':
вставить:
то же


В панели управления VirtueMart в информации о заказе – «Заказы – Список заказов – заказ# - ВИД для ПЕЧАТИ»:

administrator/components/com_virtuemart/html/order.order_printdetails.php  
перед примерно стр. 110
case 'country':
вставить:

case 'state':     
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbbt->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbbt->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );                                          
break;

перед примерно стр. 145 (до правок)
case 'country':
вставить:
то же

=====================================================================================================

\administrator\components\com_virtuemart\classes\ps_html.php
function dynamic_state_lists
Код
$script .= "states[".$i++."] = new Array( '".$country_3_code."','".$db->f("state_2_code")."','".addslashes($db->f("state_name"))."' );\n";
заменить на
Код
$script .= "states[".$i++."] = new Array( '".$country_3_code."','".addslashes($db->f("state_name"))."','".addslashes($db->f("state_name"))."' );\n";
и приличная часть вышеизложенной "простыни" не нужна.
« Последнее редактирование: 15.12.2012, 00:33:50 от fsv »
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
Цитировать
На 1-м шаге заказа (дополнительные адреса доставок):

\components\com_virtuemart\themes\default\templates\checkout\ list_shipto_addresses.tpl.php
стр.65
echo $db->f("state_2_code"). " ";
заменить на

для всех, кроме РФ:
echo $db->f("state_name"). " ";

для РФ:
if ($db->f("country_id") == '176') {
if ($db->f("state_2_code")!='77' && $db->f("state_2_code")!='78') {
echo $db->f("state_name"). " ";
}
}

На этом участке кода вылазеет ошибка - Название региона 2 раза. Т.е. Саратовская область Саратовская область
*

fsv

  • Moderator
  • 2787
  • 413 / 2
На этом участке кода вылазеет ошибка - Название региона 2 раза. Т.е. Саратовская область Саратовская область

- а вы обратили внимание, что это 2 варианта замены: "кроме РФ" и "для РФ".
или вы весь код скопировали?

- и вы убрали «старый» код, который был, вы писали, что здесь нашли и изменили?
echo $db->f("state_name"). " "; 

- покажите ваш измененный код
« Последнее редактирование: 14.06.2011, 16:20:10 от fsv »
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
- а вы обратили внимание, что это 2 варианта замены: "кроме РФ" и "для РФ".
или вы весь код скопировали?

- и вы убрали «старый» код, который был, вы писали, что здесь нашли и изменили?
echo $db->f("state_name"). " "; 

- покажите ваш измененный код
Извиняюсь, значит я просто неправильно понял, что это два варианта замены.
Но, все равно у меня почему-то на 1-м шаге заказа (основной адрес):

\components\com_virtuemart\themes\default\templates\checkout\ customer_info.tpl.php
стр.55

При замене кода:

Код: php
$db->p("state_2_code");

На:

Код: php
для РФ:
if ($country_id == '176') {
if ($state_2_code !='77' && $state_2_code !='78') {
$db->p("state_name");
}
}

Получается, что вместо региона пусто.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
- какой город в основном адресе? если Москва или Питер, то должно быть пусто

- я испытывал только на VM 1.1.5, о чем и указал. Ваша версия?

- покажите код (файл с изменениями, только сверните)
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
- какой город в основном адресе? если Москва или Питер, то должно быть пусто

- я испытывал только на VM 1.1.5, о чем и указал. Ваша версия?

- покажите код (файл с изменениями, только сверните)

Код:

Код: php
// for state, can be used: state_name, state_2_code, state_3_code
if ($country_id == '176') {
if ($state_2_code !='77' && $state_2_code !='78') {
$db->p("state_name");
}
}             echo ", ";
             $db->p("zip");
             echo "<br /> ";
Версия:1.1.8
*

fsv

  • Moderator
  • 2787
  • 413 / 2
у меня также, все работает.
надо будет поставить 1.1.8 и посмотреть

кстати, вы не ответили, в основном адресе НЕ Москва или Питер?
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
у меня также, все работает.
надо будет поставить 1.1.8 и посмотреть

кстати, вы не ответили, в основном адресе НЕ Москва или Питер?
Нет, Энгельс, Саратовская область,

А получается: Энгельс, ,
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
Дело в том, что я попробовал изменить, только 1-й  шаг, возможно необходимо произвести изменения во всех файлах. (Хотя, вроде все правил, все работало...)Надо подумать..
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Дело в том, что я попробовал изменить, только 1-й  шаг, возможно необходимо произвести изменения во всех файлах. (Хотя, вроде все правил, все работало...)Надо подумать..

да нет, во всех файлах сразу не надо. после каждого измененного файла виден результат на определенном шаге.
поставлю 1.1.8, отпишусь

Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
да нет, во всех файлах сразу не надо. после каждого измененного файла виден результат на определенном шаге.
поставлю 1.1.8, отпишусь
Огромное спасибо!

*

fsv

  • Moderator
  • 2787
  • 413 / 2
"В приходящем Покупателю письме:", во второй части заметил ошибку. Вроде смотрел, но не видел. Надо подумать.

исправил.
в 2-х местах по 1 букве перепутал.
« Последнее редактирование: 14.06.2011, 19:19:34 от fsv »
Веб-разработка: заказ. Только новая разработка.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
проверил на Joomla 1.5.23 & VirtueMart 1.1.8 stable - все работает.
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
проверил на Joomla 1.5.23 & VirtueMart 1.1.8 stable - все работает.

Сегодня по позже ещё раз попробую проверить... Наверное это у меня какой-нибудь глюк.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Сегодня по позже ещё раз попробую проверить... Наверное это у меня какой-нибудь глюк.

Это моя ошибка. Прошу прощения.
Код изменил. Забыл обращение к базе записать, а работало, потому что в основном адресе у меня был 77 регион. Изменил на вашу ситуацию, заметил свою ошибку.

Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
Это моя ошибка. Прошу прощения.
Код изменил. Забыл обращение к базе записать, а работало, потому что в основном адресе у меня был 77 регион. Изменил на вашу ситуацию, заметил свою ошибку.


Огромное Вам спасибо, за такую серьёзную проделанную работу!
*

GTpro

  • Захожу иногда
  • 102
  • 1 / 0
Спасибо!
VM 1.1.2
JLE 1.0.15
Все отлично работает!
*

bixitron

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
Отличная работа, спасибо. Долго искал это решение... +1
Вот только у меня при выборе Москвы или С-Петербурга всё равно добавляет название региона к городу.
VM 1.1.9, Joomla 1.5.25
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Вот только у меня при выборе Москвы или С-Петербурга всё равно добавляет название региона к городу.
VM 1.1.9, Joomla 1.5.25

Попробуйте внимательно проверить, правильно ли скопировали код.
Если все соответствует, на каком шаге ошибка (код приведите)?

Веб-разработка: заказ. Только новая разработка.
*

bestvinyl

  • Осваиваюсь на форуме
  • 27
  • 2 / 0
*

Airat9000

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
вот я все сделал теперь вообще страны пропали в заказе товара что за бред*?
*

fsv

  • Moderator
  • 2787
  • 413 / 2
вот я все сделал теперь вообще страны пропали в заказе товара что за бред*?

значит не "все". или больше, чем "все".
Веб-разработка: заказ. Только новая разработка.
*

market316

  • Новичок
  • 4
  • 0 / 0
fsv, подскажите, пожалуйста.
У меня Joomla! 1.5.25, VirtueMart 1.1.9, стоит шаблон для VirtueMart Mynxx. Я, естественно, вносил ваши изменения в файлы этого шаблона. Не помогло.
Возможно, нужно независимо от установленного шаблона менять Default? И что вы имеете ввиду, когда пишете о "приличной части вышеизложенной "простыни", чего из написанного можно не делать?

Может, кто другой знает ответ?
*

fsv

  • Moderator
  • 2787
  • 413 / 2
И что вы имеете ввиду, когда пишете о "приличной части вышеизложенной "простыни", чего из написанного можно не делать?
Это было дополнение через 1,5 года после старт-поста...
Чтобы ответить на ваш вопрос, мне надо все повторить, но можно проще:
- сначала делаете это дополнение;
-потом смотрите, что еще надо делать, а что уже не надо из того, что описано выше.


У меня Joomla! 1.5.25, VirtueMart 1.1.9, стоит шаблон для VirtueMart Mynxx. Я, естественно, вносил ваши изменения в файлы этого шаблона. Не помогло.
Возможно, нужно независимо от установленного шаблона менять Default?
Изменять надо шаблоны используемой темы VM. С вашим шаблоном не знаком. Для проверки работоспособности кода можете переключить на дефолтную тему и изменить ее. Неоднократно сталкивался с тем, насколько эти "темы" кривые, но это не значит, что и ваша такая, возможно, код отличается от дефолтного, и вы не туда перенесли.
Веб-разработка: заказ. Только новая разработка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться