Используется библиотека https://github.com/garand/sticky
С помощью опций можно управлять поведением. Вызов  $('.sticky-block').sticky() в файле rs.theme.js в теме.

Дополнительные поля сохраняются в поле 'order_extra'.
Вот выдержка из кода обработчика события перед записью заказа:

 $order->addExtraInfoLine(
                    t('Выбранный город при оформлении'), 
                    $affiliate['title'], 
                    array('id' => $affiliate['id']), 
                    'affiliate'
                );

На странице подтверждения заказ Вы можете получить допинформацию из переменной $order_extra
Возможно проще  $order->getExtraKeyPair('affiliate'):

{$city= $order->getExtraKeyPair('affiliate')};
{*далее выводим город*}
{$city.title}

Примерно так.

Здравствуйте! Пожалуйста, напишите примерное ТЗ здесь или в разделе тендера  - https://readyscript.ru/partners/tender/

Там маячит на горизонте маркировка товаров, так что не расслабляемся.

280

(3 ответов, оставленных в Вопросы по работе с системой)

Здравствуйте! Никак, так задумано и я поддерживаю именно такое решение, так как не возникает проблем, когда категория меняет родителя, например, или еще что то случается.

281

(13 ответов, оставленных в Вопросы по работе с системой)

При использовании 1 характеристики лучше использовать обычные комплектации.
Пример на демо-сайте http://mega.readyscript.ru/product/bluza-incity/
В product_offers.tpl делаете проверку на $offer.num. Строки с {*EVENTUS*} добавлены мною:

 {elseif $product->isOffersUse()}
    {* Простые комплектации *}
    <div class="product-offers">
        <span class="product-offers_pname">{$product.offer_caption|default:t('Комплектация')}</span>
        <div class="product-offers_values">
            {if count($product.offers.items)>5}
                {* Если комплектаций много, то отобразим их в виде списка *}
                <select class='select' name="offer">
                    {foreach from=$product.offers.items key=key item=offer name=offers}
                     {if $offer.num>0}{*EVENTUS*}
   <option value="{$key}" {if $offer.num <= 0}class="nullComplects"{/if}{if $smarty.foreach.offers.first}checked{/if} {if $check_quantity}data-num="{$offer.num}"{/if} {if $catalog_config.use_offer_unit}data-unit="{$offer->getUnit()->stitle}"{/if} data-change-cost='{ ".offerBarcode": "{$offer.barcode|default:$product.barcode}", ".myCost": "{$product->getCost(null, $key)}", ".lastPrice": "{$product->getOldCost($key)}"}' data-images='{$offer->getPhotosJson()}' data-offer-id='{$offer.id}' data-sticks='{$offer->getStickJson()}'>{$offer.title}</option>
                       {/if} {*EVENTUS*}
                    {/foreach}
                </select>
            {else}
                {* Если комплектаци мало, то отобразим их в виде радиокнопок *}
                {foreach $product.offers.items as $key => $offer}
                    <div class="product-offers_item">
 {if $offer.num>0}{*EVENTUS*}
                        <input value="{$key}" type="radio" name="offer" {if $offer@first}checked{/if} id="offer_{$key}" {if $check_quantity}data-num="{$offer.num}"{/if} {if $catalog_config.use_offer_unit}data-unit="{$offer->getUnit()->stitle}"{/if} data-change-cost='{ ".offerBarcode": "{$offer.barcode|default:$product.barcode}", ".myCost": "{$product->getCost(null, $key)}", ".lastPrice": "{$product->getOldCost($key)}"}' data-images='{$offer->getPhotosJson()}' data-offer-id='{$offer.id}' data-sticks='{$offer->getStickJson()}'>
                        <label {if $offer.num <= 0}class="nullComplects"{/if} for="offer_{$key}">{$offer.title}</label>
  {/if} {*EVENTUS*}
                    </div>
                {/foreach}
            {/if}
        </div>
    </div><br>
{/if}  

282

(13 ответов, оставленных в Вопросы по работе с системой)

Я делал универсальный скрипт для 2 и более характеристики. Выбор характеристик каскадный сверху вниз.
Подглядывал у next : https://www.next.com.ru/ru/g8078s1
Мне нравится, что у них отображается размер с остатком 0, если его реально можно когда-либо заказать.

Игорь, а используете многомерные или обычные комплектации?

Ну уж если пошла такая свистопляска с полным переходом на RS, который я 2 руками как разработчик поддерживаю, то в плюсе еще будет то, что 1 лицензия на RS позволяет иметь 2 сайта с разными доменами. Общими будут только клиенты.

Здравствуйте! Параллельно не получится, будет как 2 отдельных сайта, но если обновляете товары с 1c, то можно обновлять 2 каталога товаров одновременно.

285

(2 ответов, оставленных в Вопросы по работе с системой)

Здравствуйте! Адрес сайта, имя шаблона уточните, пожалуйста

286

(23 ответов, оставленных в Предложения по улучшению системы)

Intel Xeon E5-2620V4 8x2.10GHz
32 GB RAM DDR4 ECC
2x 240 GB RAID 0,1 (SSD) Intel DC S3510

С такой конфигурацией даже не знаю, почему так тормозит. Скорее всего тупо браузер у менеджера)
3 ядер и 2 гига (1,3 занято) - 1 сайт и dev для разработки. Пока хватает. Правда посещаемость 1000 человек в сутки , зато заказы от 300  до 600 позиций.

287

(29 ответов, оставленных в Вопросы по работе с системой)

Это ОЧЕНЬ хорошо! Спасибо!

288

(23 ответов, оставленных в Предложения по улучшению системы)

Сергей, а какая конфигурация сервера? 
Есть смысл в коде закомментировать ненужное. Например, у моего клиента при 18 000 товарах тормозило оформление заказов свыше 300 позиций.  Убрали проверки на неиспользуемые сопутствующие товары и все стало летать.
И это при 3 ядрах и 2 гб сервере.

289

(23 ответов, оставленных в Предложения по улучшению системы)

Если у вас мегамаркет с миллиоными оборотами, то всем этим можно заниматься и заказывать доработку для 10 000 категорий.
Хотя у меня есть клиенты с 15 000 реальных видов номеклатуры на собственном складе с деревом всего с 200 категориями. Миллионные обороты и никто не заморачивается с привязкой к каждому фильтру отдельной категории.
Их СЕОшники как то тоже тревогу не бьют.
Тот же zipzip.ru тоже не заморачивается, Mvideo тоже.
Если такой подход мешает работе, требует бОльшего числа ресурсов, то нужен ли он? Нельзя объять необъятное

290

(23 ответов, оставленных в Предложения по улучшению системы)

Магазины с 1000 категорий больше относятся к исключениям.
У меня есть клиент, у которого в заказах более 500 позиций и у менеджеров на их слабых компьютерах тормозили браузеры. Пришлось делать оптимизацию. У многих такие заказы?
Универсального решения нет. Потом жаловаться будут те, у кого 10 000 категорий.

Мобильное приложение и CRM не относятся к тем модулям, с которыми работает _каждый_

Интересно, что 80% моих заказчиков считают эти элементы преимуществом перед конкурентами.

291

(23 ответов, оставленных в Предложения по улучшению системы)

У меня теперь возникла проблема с недовольствами тех ,кто не использует CRM, а данный пункт меню занимает первую строчку меню)

Никто не выводил количество для категорий с подбором товаров?
Хотел прямо из шаблона вызвать $category.fields->getVirtualDir()->getFilteredProductIds, но цифра получается намного больше, видимо скрытые или отсутствующие товары  попадают.
Значит надо расширить поведение модели virtualdir и сделать метод  просчета с дополнительной фильтрацией:

        $product_api->setFilter('public', 1);
        $product_api->setFilter('num', '0', '>');
     

293

(15 ответов, оставленных в Вопросы по работе с системой)

Ярослав, насколько я знаю, проверка происходит при добавлении лицензии, но никак не переносе.
Просто не один раз переносил - и обычно первая проверка на стороннем хостинге проводится подменой записи в локальном hosts. Ни разу не видел проблем с ошибкой лицензии.
Тут же ситуация идентичная. Даже, если бы сервер проверки лицензии проверял каждый раз лицензию - ну дал бы ему старый сервер валидный ответ.

Все верно, сначала все гладко, а через 30 дней все перестает работать, так как оказывается включался тестовый период.

294

(15 ответов, оставленных в Вопросы по работе с системой)

Напомните, при добавлении лицензии или в другом месте ставится настройка 'проверять по доменному имени'. Или другое похожее название. Вот из за нее может быть. Сервер лицензий не находит Ваш сайт.

295

(15 ответов, оставленных в Вопросы по работе с системой)

Здравствуйте!
Судя по всему, IP адрес Вашего сайта вне офиса знает только файл hosts.
Забыли поправить ip в DNS домена .ru

Подскажите, как быть с виртуальными категориями?

Веб-сайт->конструктор сайта->Настройка темы оформления. Там галочку убрать в пункте "Включить плавное появление страниц"

Просто вызывайте мысленно Александра и проблема решится) Это же эффект системного администратора) Достаточно прийти и компьютер сразу "пугается")

Здравствуйте, Александр! Общие и полезные для всех изменения буду делать. Какие то глобальные изменения или слишком индивидуальные только отдельным модулем.

Хорошая идея для  расширения  моего модуля. При создании заказа присваивать создающего заказ.