Morphos

Для склонения названия городов используется библиотека Morphos, а именно часть Geographical names (Страны/Города) (Russian)

Использование его в своей логике макете или ТДС

Morphos_Geographical::getCase('Екатеринбург', 'предложный'); // Екатеринбурге

Добавление в XML всех склонений определенного города, например в контроллер Shop_Controller_Show

$aCases = array(
    'именительный', // Екатеринбург
    'родительный', // Екатеринбурга
    'дательный', // Екатеринбургу
    'винительный', // Екатеринбург
    'творительный', // Екатеринбургом
    'предложный', // Екатеринбурге
);

$value = 'Екатеринбург';

foreach($aCases as $case)
{
    $Shop_Controller_Show
        ->addEntity(
            Core::factory('Core_Xml_Entity')
                ->name('morphos')
                ->addAttribute('case', $case)
                ->value(Morphos_Geographical::getCase($value, $case));
        );
}

Last updated