Я хотел бы добавить несколько ссылок на категории с именами вручную в моем многострочном хранилище. Я попробовал это (категория ID20 как пример)Получить URL-адрес и URL-адрес Magento
<?php $category = Mage::getModel('catalog/category')->load(20); ?>
<a href="<?php echo $category->getUrl(); ?>"><?php echo $category->getName();?></a>
Это работает, но я не уверен, что это хорошая идея, есть много загрузки только, чтобы получить URL.
Я также попытался использовать перевод вместо:
<a href="<?php echo $this->__('URL-Language1') ?>"><?php echo $this->__('CatName-Language1') ?></a>
С переводом в Locale CSV.
Это также работает, но что такое «правильный путь» для достижения этого? Это похоже на обходной путь.
Нет, это не правильный способ сделать это. Локализации предназначены для языковых переводов. Вы должны иметь в виду, что, хотя я согласен с вашим заявлением о том, что загрузка всей категории только для получения ее имени и URL-адреса неэффективна, блок, в котором вы его используете, предположительно будет кэшироваться, поэтому вы не будете выполнять каждую работу время загрузки страницы. –
Ах спасибо, может быть, какая-то проблема с моим кешем, тогда у меня было 16 категорий в разных местах, и когда я попробовал с переводом «взломать», я получил заметную разницу в загрузке, придется исследовать дальше. –
Другой вариант - написать модель ресурсов, которая извлекает нужные данные напрямую и исключительно –