хм. т.е. наполнение моего свойства значениями (в моем случае это список разделов выбранного инфоблока) происходит в этой функции? showElementPropertyField,а не в обработчике события OnIBlockPropertyBuildList?
|
перешел на следующий этап.
понял как делать свое свойство: AddEventHandler("iblock", "OnIBlockPropertyBuildList", array("CIBlockPropertyPicture", "GetUserTypeDescription")); AddEventHandler("iblock", "OnBeforeIBlockElementDelete", array("CIBlockPropertyPicture", "OnBeforeIBlockElementDelete")); class CIBlockPropertyPicture { function GetUserTypeDescription() { return array( "PROPERTY_TYPE" =>"L", // или тут нужно писать G? - привязка к разделу. L- список. "USER_TYPE" =>"test_prop", "DESCRIPTION" =>"моя_привязка", "GetPropertyFieldHtml" =>array("CIBlockPropertyPicture", "GetPropertyFieldHtml"), "GetPublicViewHTML" =>array("CIBlockPropertyPicture", "GetPublicViewHTML"), "ConvertToDB" =>array("CIBlockPropertyPicture", "ConvertToDB"), //"GetPublicEditHTML" =>array("CIBlockPropertyPicture","GetPublicEditHTML"), // "GetAdminListViewHTML" =>array("CIBlockPropertyPicture","GetAdminListViewHTML"), //"CheckFields" =>array("CIBlockPropertyPicture","CheckFields"), //"ConvertFromDB" =>array("CIBlockPropertyPicture","ConvertFromDB"), //"GetLength" =>array("CIBlockPropertyPicture","GetLength"), ); } сейчас остались не понятные моменты. какие функции за что отвечают. в руководстве расплывчато написано. и самое обидное что нет полного примера создания функции.. лишь отрывки для каждой функции. ПС. где можно посмотреть например свойство стандартное "привязка к разделу"? /modules/iblock/classes/general/prop*.php? |
|
|
|
|
|
дело не в позиции. а в базе данных. я о XML_ID не позиции, а самой базы из которой идет выгрузка.
В XML файле который формируется в шапке прописывается уникальный ИД. <?xml version="1.0" encoding="UTF-8"?> <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2010-09-14T17:19:17"> <Классификатор> <Ид>1de57a01-15d9-11dc-80e5-00179ac22fbb</Ид> <Наименование>Классификатор (Каталог товаров)</Наименование> <Владелец> <Ид>1de57a08-15d9-11dc-80e5-00179ac22fbb</Ид> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! <Наименование>хххххххх</Наименование> он я так понимаю формируется автоматом и его руками из 1С не поправить. А битрикс работает как. Вот у него уже есть импортированный каталог. у него уже хранится поле XML_ID - он ждет что если будет выгрузка с XML_ID таким же как у него, то он примет эту выгрузку в существующий каталог. А если XML_ID не будет совпадать , значит он создаст еще один каталог.. Так и происходит. Так вот я хочу найти где битрикс проверяет этот XML_ID. Пока копался в файлах нашел лишь что он просто берет и за один раз с помощью функции хавает XML файл. ![]() |
|
|
|
|
|
Нужно создать свойство инфоблока , в котором потом через админку можно выбрать любые разделы любого инфоблока, включая разделы текущего, для привязки их к элементу. Свойство же "привязка к разделу". Позволяет сделать это но не позволяет для текущего раздела.
во-первых я попробовал как раз это свойство "привязка к разделу", в настройках инфоболка. Я не понял, зачем там выбирать изачально "тип инфоблока" и сам "инфоблок" именно находясь в "настройках инфоблока" а не при создании элемента? После я еще больше запутался, когда после сохранения там вылезли все разделы по фильтру выбранных мной типа и самого инфоблока. Я так думал что это настраивается уже потом, когад создаешь элемент? Я попробовал создать элемент, но в списке свойств элемента не обнаружил свойства "привязка к разделу". ЧТо я сделал не так? ПС. дальше стал искать инфу по пользовательским свойствам. Правильно ли я понял алгоритм создания: 1) функция перед формированием польз. свойств (OnIBlockPropertyBuildList) 2) функция добавления польз. свойства 3) обработчик перед добавлением пользоватеьского свойства чтобы наполнить список вариантами значений |
|
|
|
|
|
битриксу передается XMLD_ID - уникальынй номер базы данных из которой идет выгрузка товара.
у клиента 3 такие базы, но с одинкаковыми позициями. Суть в том что клиент постоянно меняет базы при выгрузке - соответственно приходят разные XML_ID и база данных дублируется, а иногда и троится. Какие есть способы сделать чтобы клиент выгружал из любой базы, а товар всегда падал в один каталог? |
|
|
|
|
|
сверху над сайтом появилась полоса.
размером в одну строчку текста. открываю исходный код страницы - там ничего нет. у меня идет <head> . . </head> <боди> так вот когда навожу фаербагом на мою таблицу - то подсвечивается все кроме верхней полосы. А когда же я навожу на body то подсвечивается все , даже с полосой. Откуда она могла взяться? может это предупрежедние о чем-то которое не показалось до конца? Сталкивался с этим кто-нибудь? |
|
|
|
|
|
перенес сайт на другой хостинг, через резервное копирование и файл restore. архив прям со старого сервера заливал. База создалась автоматически.
Вроде все работает. Разве что в коде шаблоне откуда не возьмись появились лишние символе ".." и "." ОТКУДА ОНИ? Но самое главное , когда добавляю товар в корзину, меня редиректит на старый сайт. Если вернуться обратно на новый, то товар действительно добавился в корзину. При наведение мыши на ссылку "добавление в корзину" там указано навазние нового сервера! Так какого хрена простите? Зашел в настройки сайта. Где надо указать url сайта указал новый. Не помогло. Во всем коде всегда использовал только относительные ссылки "/index.php" и тд. ПС. посмотрел что прихдоит браузеру: 01:29:59.762 0.553 744 388 GET 302 Redirect to: 01:30:00.330 3.328 657 311 GET 200 text/html Есть идеи почему так просиходит? |
|
|
|
|
|
это настройка в phpmyadmin на сервере меняется...
кстати с этой проблемой сталкивается все больше народу. вроде это из-за кодировки UTF8. битрикс с ней не ладит. а данное решение один раз мне помогло , но в другой раз этого оказалось не достаточно.. и фиг его знает почему. Если не поможет, можно еще в файл after_connect в папке /bitrix/php_interface прописать SET NAMES utf8.. |
|
|
|
|