понедельник, 12 января 2009 г.

Magento 1.2.x - что нового ?

Под новый год Varien приподнесла очередной подарок поклонникам Magento, вышла очередная версия этого лучшего (не побоюсь этого слова) на данный момент open source интернет магазина. Кроме добавления поддержки скачиваемых продуктов, было внесено немало более мелких усовершенстваний. В частности притерпела некоторые изменения система тэгов внутренней CMS Magento. В прошлой статье я уже рассказывал об этих тегах, в сегодняшней статье я решил продолжить эту тему и рассказать как обстоят дела в этом направлении в Magento версии 1.2.
Тег {{skin }} - предназначен для получения независимой от настроек ссылки на файл (по умолчанию файл скина). Он может принимать следующие параметры:
  • url - путь к файлу, ссылку на который требуется получить
  • _type - значение по умолчанию - 'skin'. Этот параметр используется для указания типа ресурса, ссылку на который требуется получить. Возможные значения layout, template, skin, locale.
  • _default - значение по умолчанию false. Этот параметр служит для передачи значения по умолчанию. В случае если искомый файл не бедет найден ( а его существование проверяется перед тем как вернуть ссылку), вместо ссылки будет возвращено значение параметра _default.
  • _store - используется для явного указания store.
  • _theme - используется для явного указания текущей темы. Значение по умолчанию - default.
  • _package - используется для явного указания испльзуемой design package. Значение по умолчанию - default.
  • _area - используется для явного указания текущей области. Значение по умолчанию - frontend.
  • _relative - используется для указания типа ссылки - абсолютная или относительная ссылка
  • _secure - используется для указания протокола - HTTP или HTTPS
Если файл не был найден в указанной явно теме или design package, то его поиск будет продолжен в дефолтной теме. С помощью этого тэга также возможно подключение различных ресурсов в зависимости от типа браузера клиента. Эта возможность может быть использована к примеру для подключения различных CSS файлов для различных браузеров. Детали того как это можно сделать вы можете узнать в Mage_Core_Model_Design_Package, в котором находится реализация этого тэга (function getSkinUrl).


Тег {{store }} - предназначен для получения независимой от настроек ссылки на страницы магазина. Он может принимать следующие параметры:
url - путь к файлу, ссылку на который требуется получить
direct_url - использовать прямой URL(true/false)
_escape - обрабатывать с помощью escape() ?
_query - параметры запроса
_relative_url: true, false
_type: 'link', 'skin', 'js', 'media'
_secure: true, false
_scheme: 'http', 'https'
_user: 'user'
_password: 'password'
_host: 'localhost'
_port: 80, 443
_base_path: '/dev/magento/'
base_script: 'index.php'
_storeview_path: 'storeview/'
_route_path: 'module/controller/action/param1/value1/param2/value2'
_route_name: 'module'
_controller_name: 'controller'
_action_name: 'action'
_route_params: array('param1'=>'value1', 'param2'=>'value2')
_query: (?)'param1=value1&param2=value2'
_query_array: array('param1'=>'value1', 'param2'=>'value2')
_fragment: (#)'fragment-anchor'
Как вы видите этот тэг имеет огромное колчество параметров на все случаи жизни, значения большинства из которых понятны. Более детальную информацию можно узнать в файле Mage_Core_Model_Url, в котором находиться функция реализующая этот тэг public function getUrl($routePath=null, $routeParams=null)).

Продолжение следует.....