Перейти к содержанию

Получение данных из модуля (страна, регион, город и др.) в контроллерах и шаблонах


  

В контроллерах и моделях через свойство progroman_city_manager доступен объект класса \progroman\CityManager\CityManager:

$this->progroman_citymanager->getCountryId();

 

Объект можно получить также из Registry

$progroman_citymanager = $registry->get('progroman_citymanager');

 

В шаблонах tpl

 

<?= $progroman_citymanager->getCityName(); ?>

 

В шаблонах twig

{{ progroman_citymanager.getCityName() }}

 

 

Методы объекта:

getCountryId() // ID страны в Opencart
getCountryName() // название страны
getZoneId() // ID региона в Opencart
getZoneName() // название региона
getDistrictName() // название района области, если есть, например: "Одинцовский"
getPostcode() // почтовый индекс
getFullCityName() // название города с районом, если есть, например: "Одинцовский р-н, г. Одинцово"
getCityName() // название города
getPrefixCityName() // тип населенного пункта (г, д, пос и т.д.)
getFiasCountryId() // ID страны в таблице fias (в базе модуля)
getFiasZoneId() // ID региона в таблице fias (в базе модуля)
getFiasId() // ID населенного пункта в таблице fias (в базе модуля)

getCountryName(), getZoneName(), getDistrictName(), getFullCityName(), getCityName() могут возвращать значения в родительном или предложном падеже, для этого нужно первым параметром указать 'gc' или 'pc'

Если вторым параметром передать true, к названию добавится тип населенного пункта.

$this->progroman_citymanager->getCountryName(); // Россия
$this->progroman_citymanager->getCountryName('gc'); // России
$this->progroman_citymanager->getCountryName('pc'); // России

$this->progroman_citymanager->getZoneName(); // Московская
$this->progroman_citymanager->getZoneName('', true); // Московская обл.
$this->progroman_citymanager->getZoneName('gc', true); // Московской обл.

$this->progroman_citymanager->getCityName(); // Воронеж
$this->progroman_citymanager->getCityName('gc'); // Воронежа
$this->progroman_citymanager->getCityName('pc'); // Воронеже
$this->progroman_citymanager->getCityName('', true); // г. Воронеж

 

 

 

 

 

 

 

 

 

 

 

 


Comments

А как наоборот, передать данные модулю (сменить в нем город) и какой минимум данных необходимо передать, для корректной работы в остальной части?

Поделиться этим комментарием


Ссылка на комментарий

Здравствуйте, можете подсказать как вывести название города в Опции товара?

Допустим я создал опцию товара "Город" - списком, клиент нажимает на список и ему из модуля показывает доступные города для заказа

Поделиться этим комментарием


Ссылка на комментарий
В 22.01.2025 в 01:27, Гость Алекс сказал:

Здравствуйте, можете подсказать как вывести название города в Опции товара?

Допустим я создал опцию товара "Город" - списком, клиент нажимает на список и ему из модуля показывает доступные города для заказа

Тут в 2х словах не опишешь. Наверно, можно получать из модуля город, а по нему нужные вам данные, но это дорабатывать надо. Нормальный программист справится. Всё, что нужно от CityManager, id города, его можно получить через getFiasId()

Поделиться этим комментарием


Ссылка на комментарий
Гость
Добавить комментарий...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...