Михаил Ушенин Webasyst


Михаил Ушенин

  • Михаил Ушенин Михаил Ушенин Webasyst 17 марта 2014 13:32 #
    Какие 5 из этих 10 должны отображаться в корзине? Последние по времени добавления в корзину? У вас в массиве есть эта информация о каждом из добавленных в корзину товаров?

    в ответ на как из массива достать определенное количество данных?

  • Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 10:26 #
    Последние по какому признаку? Т.е. покупатель добавил в корзину 10 товаров, а в корзину увидит только 5?

    в ответ на как из массива достать определенное количество данных?

  • Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 10:26 #
    Последние по какому признаку? Т.е. покупатель добавил в корзину 10 товаров, а в корзину увидит только 5?

    в ответ на как из массива достать определенное количество данных?

  • Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 08:49 #
    Ну, или примерно так:

    require_once '../../classes/PHPExcel.php';

    Вы же пытаетесь подключить файл в той же директории, в которой находится файл с классом экшена.

    в ответ на Подключение сторонних библиотек в action'ах

  • Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 08:48 #
    Попробуйте использовать метод http://www.webasyst.ru/developers/docs/basics/classes/waAppConfig/#method-getAppPath для формирования пути к подключаемому файлу.

    в ответ на Подключение сторонних библиотек в action'ах

  • Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 08:48 #
    Попробуйте использовать метод http://www.webasyst.ru/developers/docs/basics/classes/waAppConfig/#method-getAppPath для формирования пути к подключаемому файлу.

    в ответ на Подключение сторонних библиотек в action'ах

  • Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 03:03 #
    И в вашем примере кода не определен массив $array — может, у вас просто какая-то мелкая ошибка?

    в ответ на как из массива достать определенное количество данных?

  • Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 03:01 #
    Webasyst написан на PHP — со всеми вытекающими последствиями и выводами. Приведите конкретный пример, с которым у вас возникают сложности. Рискну предположить: может быть, вы столкнулись с ассоциативными массивами, а раньше имели дело только с нумерованными?..

    в ответ на как из массива достать определенное количество данных?

  • Михаил Ушенин Михаил Ушенин Webasyst 18 февраля 2014 04:47 #
    Попробуйте воспользоваться методом {$wa->shop->products(search_conditions[,offset[, limit[, options]]])} из шпаргалки редактора дизайна.

    в ответ на Вывод списка продуктов из БД на страницу магазина

  • Михаил Ушенин Михаил Ушенин Webasyst 18 февраля 2014 02:25 #
    В конструктор нужно передать хеш выборки товаров. Примеры хешей:

    array(12,23,34) — массив id товаров
    'id/12,23,34' — альтернативная запись того же самого
    'related/cross_selling/12' — рекомендуемые (cross-selling) товары для товара с id=12
    'related/upselling/23' — рекомендуемые (upselling) товары для товара с id=23
    'category/208' — товары из категории с id = 208
    'search/query=style' — результат поиска товаров по слову 'style'
    'search/tag=style' — результат поиска товаров по тегу 'style'
    'search/type_id=1' — результат поиска по любому полю таблицы shop_product, например, type_id
    'search/name=SuperProduct' — аналогичный поиск по полю name (точное совпадение)
    'search/color.value_id=6' — поиск по значению с id=6 характеристики типа "чекбокс" с кодом color
    'tag/style' — аналог 'search/tag=style'
    'type/2' — выбор товаров, которым присвоен тип с id=2

    Вся эта информация взята из исходного кода методов класса коллекции, имена которых заканчиваются на Prepare: categoryPrepare, idPrepare, relatedPrepare, searchPrepare, tagPrepare, typePrepare.

    в ответ на Вывод списка продуктов из БД на страницу магазина

  • Михаил Ушенин Михаил Ушенин Webasyst 30 января 2014 01:35 #
    1. Цена должна относиться к артикулу, а не к товару, потому что в магазине продаются именно артикулы, а товар — это лишь представление артикулов на витрине (даже если у товара всего один артикул). Как вывод отсюда: товаров без артикулов в Shop-Script 5 не бывает (по крайней мере, не должно быть).

    2. Как (и, главное, зачем?) вы планируете переопределять стандартные модели магазина с сохранением изменений при установке обновлений?

    * А в чём состоит ваш вопрос?

    в ответ на Несколько простых вопросов для знающих

  • Михаил Ушенин Михаил Ушенин Webasyst 30 января 2014 01:34 #
    1. Цена должна относиться к артикулу, а не к товару, потому что в магазине продаются именно артикулы, а товар — это лишь представление артикулов на витрине (даже если у товара всего один артикул). Как вывод отсуда: товаров без артикулов в Shop-Script 5 не бывает (по крайней мере, не должно быть).

    2. Как (и, главное, зачем?) вы планируете переопределять стандартные модели магазина с сохранением изменений при установке обновлений?

    * А в чём состоит ваш вопрос?

    в ответ на Несколько простых вопросов для знающих

  • Михаил Ушенин Михаил Ушенин Webasyst 24 января 2014 05:00 #
    Видимо, вы что-то пропустили... Проверьте тут содержимое директорий: https://github.com/webasyst/webasyst-framework

    в ответ на Несколько простых вопросов для знающих

  • Михаил Ушенин Михаил Ушенин Webasyst 24 января 2014 04:05 #
    > получается, что можно только один раз плагины подключать?

    Если для плагина определены обработчики для нескольких хуков, то этот плагин обработает их все при получении запроса от пользователя (если при обработке такого запроса приложением задействуются хуки, к которым прикреплён этот плагин) — в том же порядке, в котором задействуются хуки (т. е. генерируются события, соответствующие хукам) в коде приложения. Или вы другое имеете в виду?

    в ответ на Несколько простых вопросов для знающих

  • Михаил Ушенин Михаил Ушенин Webasyst 23 января 2014 02:50 #
    > внутренняя обработка роутов будет производиться уже в wa-apps/[guestbook]/lib/config/app.php
    В этом файле нет информации об обработке запросов.
    Если приложению нужно формировать ЧПУ-адреса (во фронтенде) в произвольном формате, то формат таких адресов нужно задать в файле wa-apps/***/lib/config/routing.php. Но ВСЕ адреса, обрабатываемые вашим приложением во фронтенде, должны начинаться с того фрагмента, который был указан в разделе "Структура" приложения Сайт для вашего приложения.

    Пример: допустим, вы создали для вашего приложения поселение с маской myapp/*
    Это значит, что все запросы, URL, которых в самом начале содержат фрагмент myapp/ (после URL, по которому установлен фреймворк), будут обрабатываться вашим приложением.

    Если вас устравают URL вида myapp/?module=some&action=other, то достаточно создать соответствующий модуль и экшен — без файла routing.php. Если такие "некрасивые" адреса во фронтенде вам не нужны и вы хотите вместо них использовать что-то вроде myapp/some/other/, то создавайте файл routing.php, в котором описывайте соответствие нужного вам формата контроллерам/модулям/экшенам вашего приложения.

    в ответ на Несколько простых вопросов для знающих

  • Михаил Ушенин Михаил Ушенин Webasyst 10 января 2014 09:11 #
    Можно, например, сделать чистую установку фреймворка и Shop-Script 5, распаковать в ней ваш плагин в директорию wa-apps/shop/plugins/yourplugin/, добавить запись о плагине в wa-config/apps/shop/plugins.php и открыть любой экран бекенда или фронтенда, в котором задействуется работа вашего плагина. При первом обращении к плагину выполнится его инициализация, т. е. сформируются таблицы + выполнится содержимое необязательного файла lib/config/install.php в директории плагина (если вы хотите, чтобы при первичной инициализации плагина выполнялся какой-то PHP-код).

    в ответ на Публикация плагина

  • Михаил Ушенин Михаил Ушенин Webasyst 10 января 2014 06:41 #
    Для справки, если ещё не читали: http://www.webasyst.ru/developers/docs/basics/webasyst-store-requirements/

    1. Developer ID: ***** в разделе "Разработчик" Центра заказчика.
    2. Файлы с описанием структуры БД (http://www.webasyst.ru/developers/docs/config/). Установку плагина (распаковку архива в нужное место, добавление записи в plugins.php) выполняет Инсталлер.
    3. Команды нужно вводить в консоль веб-сервера, в которой предварительно нужно один раз выполнить команду вида (схематичный пример для Linux — подкорректируйте путь и команду для своей рабочей машины в зависимости от используемой операционной системы и директории установки фреймворка):

    cd /var/www/путь/к/директории/с/файлами/фреймворка

    4. Установка выполняется Инсталлером, а не плагином. Неполадки в Инсталлере, связанные с установкой чего бы то ни было, устраняются разработчиками фреймворка самостоятельно. Вам стоит беспокоиться о корректности и безопасности кода, отвечающего за работу плагина.
    5. Список замечаний вы получите. Средний срок проверки — до одной недели. Он может изменяться в зависимости от конкретных условий (загруженности модераторов).

    в ответ на Публикация плагина

  • Михаил Ушенин Михаил Ушенин Webasyst 19 декабря 2013 09:12 #
    В любой папке внутри поддиректории lib/ этого же приложения. Можно в lib/classes/ для аккуратности.

    в ответ на Как поменять контроллер по умолчанию

  • Михаил Ушенин Михаил Ушенин Webasyst 20 ноября 2013 03:14 #
    Попробуйте указать абсолютные пути от корня файловой системы сервера, а не относительные.

    в ответ на Как заинклюдидть скрипт в webasyst?

  • Михаил Ушенин Михаил Ушенин Webasyst 10 сентября 2013 09:06 #
    Что вы называете "Акциями"?

    в ответ на Backend Плагина