• PHPUnits для Magento

    fear86
    @fear86
    Developer
    Ну по логике так же как и все другое, делать много моков.

    Вы этим фреймверком пользуетесь? https://github.com/EcomDev/EcomDev_PHPUnit
    Ответ написан
    Комментировать
  • Не получается примонтировать Яндекс.Диск через davfs?

    cblp
    @cblp
    говорящий с машинами
    Если у вас хостинг на OpenVZ, похоже, ничего не получится: www.linux.org.ru/forum/admin/7875834
    FUSE работает через модуль ядра, а у тебя OpenVZ, в нём нельзя просто подгрузить модуль fuse. Договаривайся с хостером, чтобы он тебе /dev/fuse прокинул.

    P.S.: на будущее — никогда не связывайся с хостингами на OpenVZ/Virtuoso и прочими контейнерами, можно полноценно юзать только Xen/KVM/HyperV-шные хостинги.

    no-dashi ***** (17.06.2012 18:35:00)
    Ответ написан
    Комментировать
  • Количество аргументов в методах. ООП?

    nazarpc
    @nazarpc
    Open Source enthusiast
    В большинстве — да, но есть методы, которые принимают 4-5 аргументов, и я не вижу в этом ничего плохого.
    Все подобные правила — на самом деле рекомендации, которым нельзя следовать отключая собственную логику и здравый смысл.
    Ответ написан
    Комментировать
  • Проблема с установкой шаблона на Magento

    z0rg
    @z0rg
    senior developer / devops
    Обычно с темой идут демо-данные в виде sql дампа, как раз уже настроенная главная и кучу статичных блоков, используемых в заранее прописанном layout.
    Ответ написан
    Комментировать
  • Как оптимизировать поиск в Magento?

    z0rg
    @z0rg
    senior developer / devops
    Когда перед нами вставала такая же задача — мы использовали Solr.
    Простите за столь запоздалый ответ.
    Ответ написан
    Комментировать
  • Проблема с установкой шаблона на Magento

    Cybenimatik
    @Cybenimatik Автор вопроса
    Всё ок, решение нашел. Проблема была в параметре WYSIWYG Editor (нужно было его просто отключить) — именно из-за него не было видно прописанную разметку.

    Файл .psd оказался не виноват, а я уже грешил на него =)
    ПС: кстати база пустая ещё. Даже тестовые нет необходимости заливать, теперь можно двигаться дальше. Всем спасибо за помощь )
    Ответ написан
    Комментировать
  • Проблема с установкой шаблона на Magento

    fear86
    @fear86
    Developer
    К Magento PSD не имет отношения.

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

    Возможно у вас слишком старый шаблон, который надо дорабатывать под актуальную версию движка, еще возможно что так все и должно быть, но вы не создали все необходимые страницы и статичные блоки, категории.

    Иногда вместе с шаблоном идет еще и дамп базы данных.
    Ответ написан
    Комментировать
  • Как разместить 1 млн товаров?

    @edogs
    1 млн. позиций само по себе не страшно, страшно количество возможных свойств, по которым должен быть доступен поиск. 2-3 свойства — одна ситуация, 20-30 — другая ситуация, 200-300 — третья.

    Готовые цмс из коробки такой объем не потянут, однако разумным вариантом будет взять готовую цмс за основу как «обвес», то есть: платежи, статические страницы, статистика, категории, бакэнд, доставка, шаблонный движок и прочее.
    А вот конкретно плагин/модуль каталога — написать полностью свой, с прямым доступом к базе (единственная завязка на ИД товара что бы была для остальной цмс-ки), при грамотном проектировании на 100 евровом хетзнеровском сервере даже самый сложный поиск будет укладываться секунд в 10 (если не плэин текст), а набор более или менее стандартных фильтров (стандартный поиск в магазинах) — секунды в 2-3, категории же и тэги просто летать будут.
    Ответ написан
    Комментировать
  • Magento get table without prefix

    max_mara
    @max_mara Автор вопроса
    Часто так бывает, что сам себя спросил, сам себе ответил.

    Я переопределил метод getTableName
    и сделал как написано тут

    stackoverflow.com/questions/2417134/how-to-override-table-name-andprefix-in-magento-model

    class Meta_Mass_Model_Resource extends Mage_Core_Model_Resource
    {
        public function getTableName($modelEntity)
        {
            $tableSuffix = null;
            if (is_array($modelEntity)) {
                list($modelEntity, $tableSuffix) = $modelEntity;
            }
    
            $parts = explode('/', $modelEntity);
            if (isset($parts[1])) {
                list($model, $entity) = $parts;
                $entityConfig = false;
                if (!empty(Mage::getConfig()->getNode()->global->models->{$model}->resourceModel)) {
                    $resourceModel = (string)Mage::getConfig()->getNode()->global->models->{$model}->resourceModel;
                    $entityConfig  = $this->getEntity($resourceModel, $entity);
                }
    
                if ($entityConfig && !empty($entityConfig->table)) {
                    $tableName = (string)$entityConfig->table;
                } else {
                    Mage::throwException(Mage::helper('core')->__('Can\'t retrieve entity config: %s', $modelEntity));
                }
            } else {
                $tableName = $modelEntity;
            }
    
            Mage::dispatchEvent('resource_get_tablename', array(
                'resource'      => $this,
                'model_entity'  => $modelEntity,
                'table_name'    => $tableName,
                'table_suffix'  => $tableSuffix
            ));
    
            $mappedTableName = $this->getMappedTableName($tableName);
            if ($mappedTableName) {
                $tableName = $mappedTableName;
            } else {
                if($entityConfig->ignore_prefix) {
                    $tablePrefix = '';
                } else {
                    $tablePrefix = (string)Mage::getConfig()->getTablePrefix();
                }
                
                $tableName = $tablePrefix . $tableName;
            }
    
            if (!is_null($tableSuffix)) {
                $tableName .= '_' . $tableSuffix;
            }
            return $this->getConnection(self::DEFAULT_READ_RESOURCE)->getTableName($tableName);
        }    
    
    }
    


    <models>
                <core>
                    <rewrite>
                        <resource>Meta_Mass_Model_Resource</resource>
                    </rewrite>
                </core>
    </models>
    
    Ответ написан
    1 комментарий
  • Выбор движка для простого интернет-магазина?

    @insanex
    Для небольших магазинов намного удобнее вордпресс а не громоздкие Magento, Opencart, итд…

    Если идете по пути WordPress + что то еще, то рекомендую посмотреть в сторону Jigoshop или WooCommerce. самые правильные plugins для создания магазина с вордпресс… темы для Jigoshop есть та том же themeforest.

    Сейчас делаю магазинчик небольшой, 300 позиций примерно, очень неплохие результаты, отличное usability, seo и все плюсы вордпресс плагинов
    Ответ написан
    Комментировать
  • Выбор движка для простого интернет-магазина?

    holyorb2
    @holyorb2
    не берите универсальные CMS. если вы ними не владеете. Например, тот же Друпал отличная CMS и магазины на ней могут все что угодно. но уровень вхождения в друпал выше, выбрать нужные модули не так легко как покажется на первое время, хотя он может все :) К магазину есть полный набор модулей и уберкарт имеет очень много возможностей, через то много времени пока вы его изучите.

    Кстати, вам дизайн нужен? это тоже серьезный вопрос. если вы собираетесь использовать готовый дизайн или делать сами. А может быть воспользуетесь услугами фриланса
    Ответ написан
    5 комментариев
  • Проблема с виджетами в Magento CMS?

    Scissors
    @Scissors
    я бы смотрел на backtrace
    система не может найти класс,
    проверьте пути, названия файлов
    и кстати регистр букв Helpers/Data.php
    Ответ написан
    1 комментарий
  • Что такое API и для чего он нужен?

    mrkto
    @mrkto
    Попробую просто:
    API для сайта — это скрипт (как правило), который принимает запросы (по методам GET (site.ru/api.php?a=b), POST) и отдаёт не обычный HTML для браузеров, а результат запроса в определённом формате (XML, JSON, php serialize()-ed).
    Соответственно предназначен он не пользователям, а скрипту со стороннего сайта/сервиса/программки, который посылает эти GET/POST запросы, получает результат и как-то использует данные. Посылает он запросы естественно не просто так, а чтобы выполнить определённое действие (напр. как действия которые выполняют пользователи сайта через браузер).

    Пользователям-программистам он нужен для интеграции с другими сайтами/сервисами программами, или автоматизации некоторых действий, создав программку для вашего сайта. Соответствено нужен он обычно только очень популярным сайтам/сервисам.
    Ответ написан
    1 комментарий