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

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


  

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

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

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


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

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

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

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

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

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

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