- Просмотренные товары битрикс. Компонент bitrix:catalog.products.viewed.
- Файл element.php и компонент bitrix:catalog.products.viewed.
- Пример размещения компонента bitrix:catalog.products.viewed.
- Сотбит: Оригами – интернет-магазин
- Настройка просмотренных товаров
- Странное «не отображение» товаров
- 1С-Битрикс Просмотренные товары при помощи $_COOKIE
- Как записать переменную в $_COOKIE на PHP
- Как записать просмотренные товары в куки 1С-Битрикс
- Как вывести просмотренные товары записанные в COOKIE
- автор: Dmitriy
- Не получается отобразить торговый каталог из 1С на сайте
Просмотренные товары битрикс. Компонент bitrix:catalog.products.viewed.
Сегодня рассмотрим задачу по реализации просмотренных товаров в битрикс. Такая ситуация может возникнуть, когда мы удалили все битриксовые скрипты с шаблона и в дефолтном шаблоне просмотренные товары работают, а в нашем кастомизированном просмотренные товары не работают.
Рассмотрим как всегда все по порядку:
Файл element.php и компонент bitrix:catalog.products.viewed.
Для того чтобы просмотренные товары битрикс отображались в кастомизированном шаблоне необходимо соблюдение двух условий. Это сам компонент catalog.products.viewed и скрипт, который будет делать ajax запрос на добавление id товара в просмотренные.
Располагать все это нужно в файле element.php.
Пример размещения компонента bitrix:catalog.products.viewed.
Прокомментирую этот пример. Здесь вначале идет скрипт, этот скрипт при просмотре товара отправляет информацию для записи просматриваемого элемента в список просмотренных товаров. Ниже идет сам компонент для выводи просмотренных товаров в битрикс. С ним делаете все как обычно, копируете, кастомизируете и получаете нужный результат.
На этом статью заканчиваю, ключевым здесь был момент с js скриптом, если возникнут вопросы или пожелания, рассмотреть реализацию какой-либо задачи — пишите в комментарии, разберем её выполнение в ближайшее время! Всем удачи и успехов в работе!
Источник
Сотбит: Оригами – интернет-магазин
Настройка просмотренных товаров
Для настроек параметров компонента требуется включить Режим правки.
После чего требуется перейти в любой из разделов каталога, навести курсор на область каталога и выбрать из выпадающего списка пункт Просмотренные товары, после чего Редактировать параметры компонента.
После чего откроется окно редактирования параметров компонента.
Стоит обратить внимание на следующие параметры компонента:
- Все поля содержащие переменные вида = <имя переменной>не стоит изменять. Эти поля заполняются автоматически из меню конструктора, либо через административную часть сайта в настройках решения.
- Недоступные товары – в поле доступен выбор отображения.
- Не отображать – недоступные товары не отображаются в списке просмотренных товаров.
- Отображать в конце – недоступные товары отображаются в конце списке просмотренных товаров.
- Отображать в общем списке – недоступные товары отображаются в списке просмотренных товаров на общих условиях.
- Недоступные торговые предложения – в поле доступен выбор отображения.
- Не отображать – недоступные торговые предложения не отображаются в списке просмотренных товаров.
- Отображать только с возможностью подписки – недоступные торговые предложения отображаются в списке просмотренных товаров на общих условиях в случае если включена возможность подписки на товар.
- Отображать все – недоступные торговые предложения отображаются в списке просмотренных товаров на общих условиях.
- Показывать процент скидки – при включенной опции в карточке товара отображается процентная скидка на товар.
- Показывать старую цену – при включенной опции в карточке товара отображается цена на товар до применения скидки.
- Показывать остаток товара – в поле доступен выбор отображения.
- Не показывать – остаток на товар не отображается в карточке товара.
- С отображением реального остатка – в карточке товара отображается числовой остаток товара.
- С подменой остатка текстом – в карточке товара отображается остаток в текстовой форме.
Настройка количества выводимых товаров в блоке просмотренных товаров
Для настройки параметров требуется перейти в административную часть сайта и перейти по пути: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Торговый каталог .
В открывшемся окне в разделе Информация о просмотренных товарах можно внести требуемые изменения.
После внесения изменений требуется нажать Сохранить.
Источник
Странное «не отображение» товаров
Здравствуйте!
После добавления товара через админку, на сайте он появляется не сразу.
О кэширование речь идти не может — на компонентах стоит автокэширование + удалял кэш в ручную. Результат один — товара нет.
Если на прямую вводить запрос на детальную страничку с товаром (например _http://site.com/tovar.php?id=555) — пишет что товар не найден. Ничего не могу понять.
Кто сталкивался, подскажите пожалуйста что это может быть?
могу предположить следующее. указана ли активность у товаров?
на сайте он появляется не сразу
| Цитата |
|---|
| Julliet пишет: могу предположить следующее. указана ли активность у товаров? |
| Цитата |
|---|
| Евгений Жуков пишет: Однозначно в техподдержку |
Практически во всех случаях нужно проверять систему на совместимость с сервером:
И тестировать на производительность
ошибки системы нужно исправлять своими силами, либо силами техподдержки)
В моем случае была проблема во времени на сервере
Источник
1С-Битрикс Просмотренные товары при помощи $_COOKIE
В редакциях 1С-Битрикс постарше, например «Малый бизнес», есть стандартный компонент просмотренные товары. Рассмотрим ситуацию, когда у нас редакция «Стандарт», а ваш каталог выполнен через компонент новостей.
Как записать переменную в $_COOKIE на PHP
Вы уже знаете про глобальные массивы, и наверняка слышали про массив $_SERVER, если не знаете, обязательно почитайте. Не то чтобы это было тем же самым, но вам это может пригодится, узнаете ниже почему.
$_COOKIE хранится в вашем браузере, срок хранения и имя переменной вы определяете сами. Чаще всего используется для сохранения «выбранной цветовой схемы» или любых других настроек уникальных для каждого пользователя.
Узнать содержимое массива можно как обычно:
Вполне может быть, что у вас там ничего не будет. Давайте запишем уже наконец-то свою первую куки переменную:
В этот раз давайте укажем больше параметров
По порядку — имя переменной, значение, время жизни переменной, путь, домен.
Теперь важная особенность — путь мы записываем относительно корня сайта, чтобы сделать нашу переменную более мобильной, или я б даже сказал, глобальной. Она будет работать на всех страницах, и не будет записываться для какой-то конкретной страницы. Тут-то нам и пригодится глобальный массив СЕРВЕР — если вы не любите хардкодить (указывать динамические значения, статическими), то можно вытащить домен, а если нужен путь то и его (для нашей задачи не нужен).
Как записать просмотренные товары в куки 1С-Битрикс
Хватит теорий, займемся делом 🙂 Нам понадобится детальная страница новости, в нашей задачи это детальная страница товара. В коде детального шаблона есть $arResult[‘ID’] — он то нам и нужен.
Идея довольно простая — мы записываем максимум 4 товара в массив, при этом удаляем последний, а если переменная пустая — записываем ID. Сам массив, состоящий из ID, представляет собой строку, в котором идет перечисление через запятую. Но это не значит что нельзя записать массив:
Как вывести просмотренные товары записанные в COOKIE
Для начала прочитайте статью про то, как узнать список элементов. Покажу вам самый главный фрагмент кода, т.к. детальный шаблон и его свойства все равно у всех свои. К тому же если вы поняли о чем идет речь в статье 🙂 значит вы и сами сможете все реализовать:
Вы сейчас наверное смотрите на цикл в цикле и думаете — WTF? 🙂 Все дело в том, что массив он сортирует в порядке возрастания, а сортировка arOrder, не позволяет нормально отсортировать товары перед выводом.
Подобное решение писалось относительно давно и я уверен, его можно переписать и улучшить в несколько раз, но это уже другая история 🙂
автор: Dmitriy
Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.
— Создание сайтов на 1С-Битрикс любой сложности
— Вёрстка макетов Figma, Photoshop, Zeplin
— Поддержка проектов на Битриксе
— Разработка нового функционала для сайта
— Парсинг данных
— Выгрузка из файлов в формате XML, YML, XLS, XLSX, CSV, JSON
— Интеграция по API со сторонними сервисами
и многое другое
Источник
Не получается отобразить торговый каталог из 1С на сайте
собственно, что имею:
1. демо-версия битрикса, редакция «малый бизнес», взятая с офф.сайта
2. 1С 8.2, УПП 1.3 (1.3.13.1)
что делаю:
1. ставлю демку, соглашаясь со всем, что она просит (все по дефолту). выбираю, что мне нужен интернет-магазин. ставится демо-каталог с мебелью. после установки мастером удаляю его с сайта. у меня получается практически голый сайт
2. иду в администрирование >> магазин >> настройки магазина >> интеграция с 1с, настраиваю ее.
3. Далее — 1С. Настраиваю обмен, выбираю группу товаров для экспорта, жму «выполнить обмен». Обмен отрабатывает, ошибок нет
| Цитата |
|---|
| Выгружено товаров: 26 Выгрузка товаров успешно завершена |
4. Захожу на сайт, в администрирование >> контент вижу, что добавился инфоблок «1С Каталог» (на одном уровне со стандартным инфоблоком «Каталоги»), в нем вижу все то, что перенеслось
5. Переключаюсь с закладки «администрирование» на «сайт» и пытаюсь посмотреть каталог.. и что вижу:
вопрос. что я делал не так, или может чего не доделал ?
| Цитата |
|---|
| Выгружено товаров: 87 Выгружено картинок: 1 Произошла ошибка на стороне сервера. Обмен не выполнен Ответ сервера: Обязательное свойство «Элемент каталога» не заполнено. |
Выгрузка товаров завершена с ошибками.
| Цитата |
|---|
| вопрос. что я делал не так, или может чего не доделал ? |
| Цитата |
|---|
| sdh пишет: вопрос. что я делал не так, или может чего не доделал ? |
Пока все верно, действительно не доделал.
В этом плане вы зря удалили демо контент, опираясь на него быстрее и проще настраивать свой каталог, удалить всегда успеете.
Вот вам примерный todo, который мы используем в реализации таких шаблонных проектов клиентам, для выполнения читайте мануал и он-лайн курсы (контент, администрирование, в первую очередь вам нужно хорошо понять что такое информационный блок, структура сайта, меню):
— вывод нужного каталога, настроить иблок, расположить каталог в структуре сайта
— настройка шаблонов ссылок в каталоге (иблоке), ЧПУ
— настройка списка товаров/детального просмотра
— настройка вывода на главной новинок, и т.д.
— настройка левого меню
— настройка публичного раздела с восстановлением пароля
— настроить/подключить нужные оплаты/доставки
— заменить статичный текст и данные в шаблоне
— удалить все лишнее и переидексировать
| Цитата |
|---|
| Николай Ефремов пишет: Вы не настроили компонент каталога в публичной части на новый инфоблок каталога (ну и в самом инфоблоке шаблоны адресов скорее всего не прописали). |
| Цитата |
|---|
| URL страницы информационного блока: #SITE_DIR#/catalog/#IBLOCK_CODE#/ URL страницы раздела: #SITE_DIR#/catalog/#IBLOCK_CODE#/#SECTION_CODE#/ URL страницы детального просмотра: #SITE_DIR#/catalog/#IBLOCK_CODE#/#SECTION_CODE#/#ELEMENT_CODE#/ |
| Цитата |
|---|
| URL страницы информационного блока: #SITE_DIR#/catalog/#IBLOCK_CODE#/ URL страницы раздела: #SITE_DIR#/catalog/#IBLOCK_ID#/#SECTION_ID#/ URL страницы детального просмотра: #SITE_DIR#/catalog/#IBLOCK_ID#/#SECTION_ID#/#ELEMENT_CODE#/ |
| Цитата |
|---|
| URL страницы информационного блока: #SITE_DIR#/1c_catalog/#IBLOCK_CODE#/ URL страницы раздела: #SITE_DIR#/1c_catalog/#IBLOCK_CODE#/#SECTION_CODE#/ URL страницы детального просмотра: #SITE_DIR#/1c_catalog/#IBLOCK_CODE#/#SECTION_CODE#/#ELEMENT_CODE#/ |
| Цитата |
|---|
| URL страницы информационного блока: #SITE_DIR#/1c_catalog/#IBLOCK_CODE#/ URL страницы раздела: #SITE_DIR#/1c_catalog/#IBLOCK_ID#/#SECTION_ID#/ URL страницы детального просмотра: #SITE_DIR#/1c_catalog/#IBLOCK_ID#/#SECTION_ID#/#ELEMENT_CODE#/ |
Начните вот с нижеследующего, а если у вас будут прописаны и уникальны! символьные коды для разделов и/или для элементов (товаров), то можете заменить ID на CODE . В этих шаблонах ЧПУ то, что XXX_ID это просто номер соответствующего элемента в соответствующей таблице дазы, а XXX_CODE — его символьный код, которого может не быть.
А лучше послушайте, что Иван говорит.
| Цитата |
|---|
| sdh пишет: и еще имеется проблема. если в настройках выставить «Выгружать предложения (характеристики) в отдельный инфоблок» (а мне окончательно так и нужно, ибо в 1С используются характеристики), то «ломается» уже сама закачка в 1С : Цитата Выгружено товаров: 87 Выгружено картинок: 1 Произошла ошибка на стороне сервера. Обмен не выполнен Ответ сервера: Обязательное свойство «Элемент каталога» не заполнено. Выгрузка товаров завершена с ошибками. Обязательное свойство «Элемент каталога» не заполнено. >> где это искать ? |
итак. после недельных мучений, курений мануалов и шерстения форумов вдоль и поперек сумел продвинуться на полметра вперед. что имеем в итоге:
закачка в конфигурации 1С 8.2, УПП 1.3 (1.3.13.1) «от 1С» старая и неработоспособная. просто товары с горем пополам выгружает. с характеристиками отказалась работать наотрез. выше пост про артикул оказался в итоге фейком. даже с заполненными артикулами так и не получилось. начал смотреть хмл файлы (import.xml и offers.xml) — характеристики каким то боком фигурировали в import.xml, в offers.xml присутствовали только цены. поэтому сделал вывод, что формирование этих файлов в 1С устаревшее, причем нехило.. надо прикручивать «новое».
пришлось брать с сайта битрикса вот это >> Улучшение функционала интеграции с 1С:Управление торговлей и дорабатывать напильником, встраивая в УПП
что было проделано:
читаем инструкцию от битрикса для установки обновления на УТ:
| Цитата |
|---|
| . Включите в объединение общие модули: «ОбщегоНазначения», «ПроцедурыОбменаДанными», » ПроцедурыОбменаСайтом «, «УправлениеОтчетами». 9. Включите в объединение подписки на события: «ПриЗаписиРегистраНакопленияОбменССайтом», «ПриЗаписиРегистраСведенийОбменССайтом», «ПриЗаписиСправочникаОбменССайтом», «ПриУдаленииПроведенияДокументовДляОбменаССайтом». 10. Включите в объединение общую форму » НастройкаФорматовЗначенийДляОбменаССайтом «. 11. Включите в объединение справочники » НастройкиОбменаССайтом » и «Номенклатура». 12. Включите в объединение обработки » ОбменССайтом » и » ПомощникНастройкиОбменаДаннымиССайтом «. 13. Включите в объединение регистр сведений » НастройкиОбменаССайтомСПринудительнойПолнойВыгрузкой «. . |
| Цитата |
|---|
| //мКоэффициентПересчетаВесаТоваровВГраммыДляОбменаССайтом = Константы.КоэффициентПересчетаВесаТоваровВГраммыДляОбменаССайтом.Получить(); мКоэффициентПересчетаВесаТоваровВГраммыДляОбменаССайтом = 1; |
| Цитата |
|---|
| //Если НоменклатураСсылка.ДополнительноеОписаниеНоменклатурыВФорматеHTML Тогда // ДобавитьНачалоЭлементаCML(СписокЗначенийCML, «Описание»); // ДобавитьАтрибутCML(СписокЗначенийCML, «ФорматHTML», БулевоЗначениеCML_Истина); // ДобавитьТекстCML(СписокЗначенийCML, НоменклатураСсылка.ДополнительноеОписаниеНоменклатуры); // ДобавитьКонецЭлементаCML(СписокЗначенийCML); //Иначе // ДобавитьУзелCML(СписокЗначенийCML, «Описание», НоменклатураСсылка.ДополнительноеОписаниеНоменклатуры); //КонецЕсли; // ДобавитьУзелCML(СписокЗначенийCML, «Описание», НоменклатураСсылка.ДополнительноеОписаниеНоменклатуры); |
вроде все. обновил конфу, создал через справочник (!) НастройкиОбменаССайтом новую запись и все. импорт прошел, все что положено, импортировалось куда нужно, характеристики появились. теперь навожу марафет в компоненте Полный каталог bitrix:catalog и остальных компонентах 8)
написал это, может кому реально поможет, в борьбе с интеграцией 1С и Битрикса
ЗЫ
если честно, обескуражен.. УПП, ценник которого под 200 тыщ рублев.. и обновляется как попало. в отличие от «ходовой» УТ, в которой имеются все последние фишки-примочки.. чья тут вина, не могу сказать. либо 1С, ленящихся включать обновленные модули от битрикса, либо самого битрикса, который до сих пор зажал эти модули для 1С.. мдя.. рашка, блин, что тут еще сказать.
Источник