Замена содержимого включаемой области на разных страницах, Необходимо чтобы на главной странице во включаемой области было 1 контент, а на страницах бренда свой
Больная тема, постоянно поднимается этот вопрос, можете поискать по форуму. Я в последнем подобном проекте. с множеством различных категорий товаров, остановился на решении с одним инфоблоком и разбитыми на разделы категориями товаров. Свойства инфоблоков создавал только для тех параметров, по которым осуществляется фильтрация в каталоге. И их количество сократили, особо не важные убрали. А все остальные параметры хранятся в множественном свойстве типа Строка, с выводом описания значения. Выглядит примерно так http://clip2net.com/s/jlefnS - удобно заполнять и выводить на странице товара.
А если все-таки по инфоблокам разбить, то я сталкивался с решением, когда был создан еще один инфоблок, в котором была собрана структура каталога с помощью разделов, и в разделах создавались элементы, у которых в определенном свойстве хранился ид инфоблока с товарами этой категории. Ну и плюс все компоненты были переписаны под такую организацию каталога. Возьни было много. Как можно организовать меньшей кровью, я наверно не подскажу. Все варианты, которые приходят в голову, требуют не маленьких или не красивых доработок. Как-то советовать такое не хочется. Может кто еще что подскажет, или на форуме поищите.
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
В админке: Настройки - Инструменты - Проверка системы (/bitrix/admin/site_checker.php?lang=ru) Начать тестирование. Самый последний шаг - проверка бд. Если таблицы не существует, то он на нее пожалуется и возможно предложит автоматически восстановить. Или на тестовой копии удалите модуль Интернет-магазин, с сохранением таблиц и настроек, а потом установите. Если ошибка пропадет, тоже самое на основной версии сайта можно сделать.
А так, создать вручную таблицу не трудно. Только обычно такие ошибки не приходят одни.
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
То есть если id контрагента вида user_id#user_email#user_lastname user_name, то пытается найти пользователя по ид и если находит, проверяет еще соответствие емайла, фамилии и имени. Зачем это нужно, если мы нашли уже пользователя по ид? У меня в хайлоадблок выгружается инфа из справочника, которую нужно связать с пользователем. Вот хотелось бы узнать, для чего дополнительная проверка нужна, от каких проблем эта подстраховка?
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
Простой вариант: в header.php шаблона страниц выводить этот мета-тег, в него выводить адрес текущий страницы, без get-параметров. Например, с помощью функции getcurpage $APPLICATION->GetCurPage() Также можно это сделать чисто в админке, задать тут /bitrix/admin/settings.php?lang=ru&mid=fileman&mid_menu=1 новый Тип свойств. Он будет доступен при редактировании каждой страниц, только я честно говоря не знаю, выведется ли само это свойство как мета-тег или все-таки вручную в шаблоне, как выше написал, прописать придется.
Сложный, но с бОльшими возможностями: Задавать значение этого мета-тега для каждой страницы с помощью $APPLICATION->SetPageProperty . Если на странице комплексный компонент, то в шаблоне компонента нужно получить адрес страницы, если это ЧПУ, с подразделами. И через эту же функцию задавать для каждой страницы, выводимой комплексным компонентом, нужный адрес. Потом, в header.php шаблона страниц с помощью отложенной функции $APPLICATION->ShowProperty выводите заданное ранее значение для этого мета-тега.
Если подробнее нужно, то может вдруг кто и опишет инструкцию. Или попробуйте разобраться сами, в принципе, сложного ничего нет. Или на фриланс обратитесь.
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
Интересно содержимое файла $_SERVER["DOCUMENT_ROOT"]."/include/main_slider.php". Если проблемы с php, может стоило на js написать подгрузку карусельки, и js код прямо в текст анонса вставлять.
Или разбить текст на несколько полей. Попробовать создать множественное свойство типа текст/html и выводить его в цикле, а после вывода каждого блока текста выводить карусельку, прописав это просто в условии цикла.
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
Cисадмины делятся на тех, кто делает бэкапы, и тех, кто уже делает...
Найдите бекап сайта, который либо на сервере делается, либо сохранен в админке /bitrix/admin/dump_list.php?lang=ru и посмотрите, что было в этом файле до изменения. Возможно еще имеется другой шаблон, почти идентичный измененному, посмотрите там. Или можно просто содержимое файла глянуть, прикинуть где код идет не логичный. Может место на сервере закончилось и что-то недозаписалось.
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
Можно ли задать один и тот же код свойств для заказа, если свойства по-сути одни и те же, только для разных типов плательщиков? Например, адрес доставки для физлиц и юрлиц. Чтобы у обоих свойcтв был код DELIVERY_ADDRESS, без всяких префиксов FIZ или UR.
Понятно, что сохранить свойства получится, а вот проблем с этим никаких не будет?
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
А в 1с стоит Полная выгрузка? Если так, то можно попробовать поправить компонент импорта с 1с. Почти в самом низу идет деактивация элементов, которых не было в выгрузке. Можно там добавить проверку на раздел. Соответственно, компонент копировать в свое пространство имен, файл обмена создавать свой и в нем размещать кастомизированный компонент.
Или попробовать перенести эти элементы в другой инфоблок
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
А на будущее, чтобы файлы сохранялись с оригинальным названием, в настройках главного модуля, поставьте галочку "Сохранять исходные имена загружаемых файлов" и галочку "Производить транслитерацию имени файла". Тогда сразу при скачивании файла будет оригинальное название транслитом. С кириллицей проблемы могут быть всякие.
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава
Вы выводите значения свойств, сохраненные в профиле покупателя, причем только первого найденного профиля.
По программному изменению значения свойства тоже не понятно. Когда и где вам это нужно сделать? Если при оформлении заказа и вы используете компонент sale.order.ajax, то нужно использовать события: OnSaleComponentOrderOneStepComplete - срабатывает при завершении оформления заказа, когда заказ полностью сформирован в бд. Событие задается в файле init.php
Как в 1с заданы цены для товара? Аналогичная задача. У нас несколько типов цен для каждого товара в 1с. Редакция битрикса - бизнес, выгружаем все типы цен для товаров. Потом переписали GetOptimalPrice через событие OnGetOptimalPrice и в нем смотрим сумму товаров в корзине и в зависимости от этого значения подсовываем той или иной тип цены. Всякие битирксовые правила работы с корзиной не помогут, так как все ценообразование идет в 1с. И планируемая выгрузка скидок из 1с также не подходит, так как для каждого товара отдельно задается значение типа цены, а не какой-то процент для всех. Потом также переписали вывод цены на детальной странице товара, когда меняя количество товара, которое пользователь хочет положить в корзину, подсвечивается соответствующая цена за единицу товара в зависимости от получаемой суммы товаров в корзине.
А все-таки жаль: иногда над победами нашими встают пьедесталы, которые выше побед. Булат Окуджава