Блог

  • Замена(кастомизация) стандартного выпадающего списка c ddslick

    У каждого дизайнера есть мечта - сделать идеальный дизайн сайта. Главное не ему не стоит забывать о возможностях верстки).

    Каждый из вас когда-нибудь замечал, насколько скучны и однотипны выпадающие списки (кроме Mac OS X). Непорядок. Надо сделать красиво.

    Для реализации нам потребуется: ddslick, jquery, css и немного мозгов. Как удобно, что всем доступен наш плагин по подключению различных библиотек jQuery - его легко найти на Magento Connect.

    Приступим:

    1. Подключаем ddslick & jquery. Это...
    Читать далее...

  • Задание стандартного метода доставки в корзине Magento

    Маленькая, но очень нужная заметка - как сделать так, чтобы в корзине автоматом был выбран способ доставки.

    В данном примере задаем всем фиксированную стоимость отправления (flatrate):

    Способ первый:

      if (!Mage::getSingleton('checkout/type_onepage')->getQuote()->getShippingAddress()->getCountryId()) { $customerSession = Mage::getSingleton("customer/session"); if ($customerSession->isLoggedIn()) { $customerAddress = $customerSession->getCustomer()->getDefaultShippingAddress(); if ($customerAddress->getId()) { $customerCountry = $customerAddress->getCountryId(); $shipping = Mage::getSingleton('checkout/type_onepage')->getQuote()->getShippingAddress() ->setCountryId($customerCountry)->setShippingMethod('flatrate_flatrate')->save(); } else { $shipping = Mage::getSingleton('checkout/type_onepage')->getQuote()->getShippingAddress() ->setCountryId('RU')->setShippingMethod('flatrate_flatrate')->save(); } } }  

    Способ второй:

    > $shippingAddress = $this->getQuote()->getShippingAddress(); if (!$shippingAddress->getCountryId())...
    Читать далее...

  • Проверка количества товаров в корзине

    Многие заказчики хотят чтобы информация о количестве товаров в корзине отображалась на каждой странице магазина. Например в хедере.

    Для этого сделаем небольшую проверку на наличие товара и сам вывод:

    
    <?php if (gettype($this->helper('checkout/cart')->getSummaryCount())== 'NULL'):?>
                         <?php echo '0'; ?>
                         <?php else: echo $this->helper('checkout/cart')->getSummaryCount();?>
    <?php endif ?>
    
    

    Читать далее...

  • Подключение внешнего скрипта/css через xml

    Существует достаточно много способов добавления (подключения) скриптов к Magento. Какой из них наиболее грамотный? Действительно,технически подключить скрипт возможно в любом phtml файле. Так зачем что-то еще делать? Дело в том что в Magento существует функция сжатия css и javascript, которая улучшает быстодействие. Но скрипт, прописанный в phtml файле не сожмется. Поэтому более правильный способ - подключение через xml файл.

    Для этого в файле page.xml добавим в секцию

    > <block type="page/html_head" name="head" as="head">...
    Читать далее...

  • Удаление блока через XML

    Magento является достаточно гибкой системой, легко поддающейся перестройке под конкретные запросы. Её "скелетом" является структура из XML-блоков. Иногда надо удалить стандартные блоки или сделать так чтобы они отражались не на всех страницах магазина.

    Итак, нам в помощь будеть комманда <remove>.Допустим что мы не хотим отображать блок сравнения. В папке layout текущей темы создаем файл layout.xml и напишем:

      <default> //секция отвечающая за все страницы сайта <remove name="catalog.compare.sidebar" /> </default>  
    ...
    Читать далее...

  • Проверка залогиненности пользователя в Magento

    Если вам надо сделать проверку, которая покажет вошел (залогинился) пользователь или нет воспользуйтесь этим советом.

    Для этой проверки используется один из хелперов. Классом данного хелпера являестя Mage_Customer_Helper_Data, а метод, который мы собираемся использовать это isLoggedin(). Давайте напишем простой скрипт проверки:

    
    <?php
    if ($this->helper('customer')->isLoggedIn() ) {
        echo "Welcome!";
    } else {
        echo "Please log in.";
    }
    ?>
    
    

    Читать далее...