В общем случае это и не нужно. У нашего клиента оптовый магазин с 10 000 товаров и 1500 клиентами оптовиками и за год никому данный функционал не пригодился, правят непосредственно в итоговом счете в 1с.
В AliExpress, ComputerUniverse, ebay аналогично надо пересоздавать или писать в поддержку для изменения в заказе.

Пользуемся крупным сервисом SAAS онлайн-фотоуслуг и там тоже не позволено менять заказ пользователя.
Все таки у покупателя тоже должна быть доля ответственности за заказ, а не "сделаю я а бы как, потом 20 раз переделаю"

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

Конструктор сайта, страница "по-умолчанию". Находите нужную секцию  и добавляете блок "Произвольный HTML"
http://joxi.ru/4AkpWl5Fv9Wprq
В него вставляете код виджета вконтакте.

Можно реализовать это добавлением в корзину товаров из совершенного заказа, как сделано в некоторых движках.
Удобно повторно заказывать группу аналогичных товаров.

579

(11 ответов, оставленных в Вопросы по разработке модулей и API системы)

Поделюсь с общественностью небольшим кодом:

function metrikaReach(goal_name) {
        for (var i in window) {
        if (/^yaCounter\d+/.test(i)) {
            window[i].reachGoal(goal_name);
        }
    }
   /* или напрямую вызвать свой счетчик. К примеру 1111*/
            /*yaCounter1111.reachGoal(goal_name);*/

}

$( document ).ready(function() {
$('body').on('click', '.metrika', function() {
    var goal_name = this.className.match(/metrika_([^\s]+)/);
    if (goal_name[1]) {
        metrikaReach(goal_name);
    }
    return true; 
});


$('body').on('submit', 'form.register', function() {
    var goal_name = 'rs_register';
    metrikaReach(goal_name);
    return true; 
});

$('body').on('click', '.addToCart', function() {
    var goal_name = 'rs_addtocart';
    metrikaReach(goal_name);
    return true; 
});

$('body').on('click', '.formSave', function() {
    var goal_name = 'rs_formsave';
    metrikaReach(goal_name);
    return true; 
});


});

В метрике добавлены цели - события JS:
rs_formsave - отправка сообщений обратной связи.
rs_addtocart - в корзину.
rs_register - регистрация пользователя.
Так же можно на любые элементы с классами по шаблону "metrika_{название события}".
Пример для события bannerclick: metrika_bannerclick.

Код для темы "Детская"

Здравствуйте! Подскажите, пожалуйста, можно ли как то без модификации стандартных js файлов шаблона поймать следующие цели:
1. Регистрация пользователя
2. Покупка в 1 клик
3. Отправка сообщения обратной связи (или иные формы из конструктора форм)
4. Добавление товара в корзину
т.е. те действия, которые осуществляются ajax запросом.

581

(8 ответов, оставленных в Вопросы по созданию тем оформления)

Еще раз уточню) Т.е. перезагрузкой шаблонов можно сетку и по bootstrap сделать?
Изменения сохранять в templates/mysystem/*? Просто в документации разработчикам этот момент не нашел...

Спасибо за советы!

Воспользуйтесь инструментами разработчика в браузерах.
FireFox- правой кнопкой по странице - "Иследовать элемент"
Chrome - "просмотр кода элемента"
Они помогут "подсветить" нужные элементы и покажут в правом нижнем окне в какой файле css необходимо изменить стиль.
http://joxi.ru/KAxz1Jxs7lxQm8

1. Разношу товары по спецкатегориям "Новинки","Последние поступления", "Акции" в зависимости от количество дней от даты создания товара, от количества дней в характеристике "Дата последнего поступления", от наличия характеристике "Акция" соответственно.

2. Выключаю товары, которые добавлены в мусорную категорию. У клиента так принято.

Спасибо! Все работает!

585

(10 ответов, оставленных в Вопросы по созданию тем оформления)

Не будем отвлекать по мелочам Александра от разработки новых модулей и развития системы )
Вот код из одной из тем, который выводит маленькие превью. Видно, как в теге alt добавлено описание.

 {foreach $images as $key => $image}
                            <li data-id="{$image.id}" class="{if $offer_images && !in_array($image.id, $offer_images)}hidden{elseif !$first++} first{/if}">
                                <a href="{$image->getUrl(800,600,'xy')}" class="preview" data-n="{$key}" target="_blank"><img src="{$image->getUrl(100, 100)}"  alt="{$image.title|default:"{$product.title} фото {$key+1}"}" title="{$product.title}"/></a></li>
                            {/foreach}

 title="{$product.title}"

Спасибо, Александр! Внесите, пожалуйста, этот хук в документацию

Здравствуйте! Не могу настроить отправку почты через smtp Yandex. Нет настроек SSL
В отдельном скрипте для теста адрес указал так:

 $mhSmtpMail_Server = "ssl://smtp.yandex.ru"; // smtp-сервер

и все работает.
А с магазина проверка отправки не срабатывает.

просто

{$product.title}
{static_call var=product callback=['\Catalog\Model\Orm\Product', 'loadByWhere'] params=[['id'=>$aid]]}{$product.title}

Здравствуйте! Возможно ли как то перехватывать окончание импорта товаров из 1с?
После обмена необходимо совершать определенные операции. Сейчас делаю это аналогично очистке логов, т.е. рандомно на событии Start.

Здравствуйте!
Кто нибудь сталкивался с версткой шаблона на bootstrap 3 под ReasyScript с сохранением функционала конструктора сайта? Какие подводные камни имеются?

Спасибо! Отдельным типом сделал, учитывая описанные изменения.
Получилась простая страница с отзывами о компании.

Такс, к странице просмотра Новости комментарии прикрепляются, а вот возможно ли к отдельной странице?

Думаю сделать отдельный шаблон для статьи, там вывести

{moduleinsert name="\Comments\Controller\Block\Comments" type="Article\Model\CommentType\Article"}

Возможно ли передать id статьи или товара для того чтобы вывести все комментарии с данного объекта на 1 произвольной странице?

Здравствуйте! Вот вроде простейшее действие, а где то я что то не то делаю.
Достаточно ли просто добавить блок модуль комментариев с типом "статья" на страницу со статьей?

1. Создал статью с привязкой к пункту меню
2. Создал в конструкторе сайта страницу
3. Добавил внизу модуль комментариев

Ничего не вывелось)

Все пункты выполнены, пункт 2 уже до этого был сделан. Кеш сбросил.
И все равно их характеристики товаров с ост=0  попадают в фильтр.
http://joxi.ru/YmEnw3JIQqML26 - остатки =0
http://joxi.ru/nAyqyJktJbwZAZ - попали размеры 1,3
http://joxi.ru/BA0pxGjFOZNJAy - нет товаров для отображения

Или по логике самой системы характеристики включенных товаров с ост=0 попадают в фильтр?

Если устанавливаешь галку на скрытие товаров, то по прямой ссылке на товар так же зайти нельзя. И уже проиндексированные товары становятся недоступными, что очень плохо( Теряем перешедших из поисковиков.

Добрый день!
Возможно ли не выводить в фильтре характеристики товаров, остаток на складе которых = 0?
Например, нет товаров определенного размера, но в фильтре этот размер выводится.

Каталог товаров настроен так, чтобы не выводить товары с нулевым остатком.

Спасибо за Ваши подробные ответы! Уверен, что другим разработчикам они будут не менее интересны.

Александр ответил в другой теме http://forum.readyscript.ru/topic/465/n … lizatsiya/

Добрый день!
Необходимо сделать в своем модуле редирект при регистрации на определенную страницу.
Так же на этой странице будет срабатывать цель метрики -"регистрация"
Как я понимаю, необходимо продублировать функционал \modules\users\controller\front\register.inc.php
и в handlers прописать свой route.
Возможно ли вообще перезаписать путь /register/ на свой контроллер?
Хотя все равно яваскрипт придется еще править, но вдруг где то ссылки будут на старую регистрацию.

Спасибо за ответы, Александр!  Планируемый функционал будет востребован. 
Интересно, что к нам за разработкой пришли заказчики из головной компании после того, как был реализован магазин для дилера) И уходят с Bitrix!
Я уточню у заказчиков структуру базы. У дилера база изначально верно наполнялась в 1с с комплектациями (размер). Возможно у них на каждый размер своя карточка товара.

Доп.функционал и доп.поля стараюсь делать отдельными модулями.

Еще вопросик. Если идти не будем изменения файла, а созданием собственного модуля, то каким образом перехватить в своем модуле фильтрацию товаров?

Здравствуйте!
Имеется основной склад и несколько складов в разных городах.
Все работают с одной базой 1с, то есть у товарах цены для всех одни и те же, меняется только наличие на том или ином складе.
Получается, клиенты видят товары, которые отсутствуют на складе их города, но есть на других складах.
Возможно ли сделать так, чтобы отбирались только товары выбранного пользователем склада?

Я предполагаю сделать так:
Вариант 1.
1. Добавлю функцию фильтрации по остаткам на складе в Catalog\Model\api.php (пусть whFilter)
2. Добавлю новое поле пользователя "склад по-умолчанию" (запрашивается при регистрации).
3. В шаблоне фильтра  жестко задам включение фильтра по складам (или отключение фильтрации, если пользователь не авторизован).


Вариантом 2 рассматриваю многосайтовость.
1. Отдельный домен для каждого склада
2. Несколько профилей 1с для выгрузки с каждого склада по отдельности. У каждого профиля соответствующий адрес сайта склада.


Верным ли я путем иду, товарищи?  Свет в конце туннеля будет?))