magento

magento

Один из лидирующих движков для электронной коммерции, очень любим крупными ритейлами и компаниями

Позволяет построить на самом деле мощные магазины (с мультивитринами, группами цен для разных пользователей, группами товаров с отдельными атрибутами и тд). Требует аккуратного программирования дополнений и тем

magento

Magento: регистрация пользователей с выбором группы

app\design\frontend\rwd\ваша темка\template\persistent\remember_me.phtml
Сделаем красивые опции, которые позволяют юзерам при регистрации добавить себя в группу определенную. Мы используем этот блок чтобы такое же сохранение работало не только на создании аккаунта, но и на «создании при размещении заказа»

<li class="fields">
    <h3>Please select the option that best fits:</h3>
</li>
<li class="control">
    <label for="is_retailer_1">I am a retailer</label>
    <div class="input-box">
        <input type="radio" name="group_id" title="I am a retailer" value="1" id="is_retailer_1"
            checked="checked" class="checkbox" />
 
    </div>
</li>
<li class="control">
    <label for="is_retailer_3"> I am a wholesaler</label>
    <div class="input-box">
        <input type="radio" name="group_id" title="I am a wholesaler" value="3" id="is_retailer_3"
               class="checkbox" />
    </div>
</li>

Добавим маленький хак
app\code\core\Mage\Customer\controllers\AccountController.php

<?php
if (@$_REQUEST['group_id'] == 3) {
     $customer->setGroupId(3);
}
$customer->save();


magento

Magento: Атрибут у продукта не сохраняется или как лечить магию

Магия многих готовых систем очень крута, но когда она ломается — то ломается тоже круто. Например, в одном магазине у нас сломалось сохранение фильтров (выбрать было можно, но после сохранения все становилось как было).

1

Такую магию нужно лечить очень аккуратно, поэтому в начале смотрим что на самом деле сохраняется в базе данных. Возможен вариант как поломки сохранения, так и поломки вывода (т.е. все сохраняется, но не так выводится). Когда этот вариант мы отбросили — то начинаем уже ковырять сохряналку.
Включив дебаг (/lib/Varien/Db/Adapter/Pdo/Mysql.php) мы видим что идет сохранение, но не в ту таблицу атрибутов (варчар, хотя наши — инты). И вот он простой, но такой нужный удар молотком. Причины возникновения бага, как и обычно в магии, полупотеряны: атрибут создавался как «мультиселект» (варчар). Импортировался скриптом со значениями обычного селекта (инт), поэтому заметно стало только сейчас.

2

magento

Magento: Пример скрипта для убыстрения задач администрирования

Частая проблема — неудобство админки для массовых задач, например — задача найти старые фотографии и проверить эти товары — если Вы это будете делать прямыми методами — то это долго и неудобно. Мы в этом случае рекомендуем маленькие (или не очень) быстро-скрипты, написать которые займет 30 минут, использовать — час, результат — работа, которая могла занять два дня — занимает полтора часа суммарного времени.

magento список товаров

Продолжить чтение…


magento

Magento: Как убрать The stock item for Product is not valid.

Иногда данные биты. Иногда данные биты очень после даже очень правильного и корректного импорта из специально подготовленных файлов. Так мы можем потерять целостность «чекбоксов» использовать глобальные настройки «стока» товаров — и вместо красивого магазина получить кучу надписей о недоступности товаров… Грустно обидно, но мы же программисты! Решение — восстановление целостности таблиц.

Простейшее решение: сразу все запустить и не оптимизировать скрипт сверх меры (разовые скрипты вообще должны быть понятны, но не идеальны по упакованности, их вариант — легкость изменения)

Продолжить чтение…


magento

Magento и русский/украинский csv

Аааа, все поломалось, ничего не работает — экспорт дает какие-то «кракозяблы» и мы ничего с ним не можем делать… Нам нужны русские названия товаров, которые мы можем обрабатывать. — Это и многое другое получают наивные пользователи, верящие что коробочные решения с ходу можно легко полностью и под себя настроить. Можно — но нужно программировать и быть умненькими

Продолжить чтение…