Jump to content

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


  

В контроллерах и моделях через свойство 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

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

Share this comment


Link to comment

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

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

Share this comment


Link to comment
В 22.01.2025 в 01:27, Гость Алекс сказал:

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

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

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

Share this comment


Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...