Был интернет-магазин без 1С-ки, теперь сделали второй на этом же движке но на другом домене. Ко второму магазину планируют подключать 1С, т.е. отедльный инфоблок каталога с товарами выгружаемыми из 1С + обмен заказами с 1С. Но вот в чём проблема, в 1С нужно отдавать заказы второго магазина, в первом всё остаётся по прежнему. Как это сделать? Просто сейчас зайдя в админку второго магазина я вижу заказы первого (или что-то не так настроил или так и дожно быть).
Да пробовал, помогло частично, но на страницах комплексных компонентов, например каталога или новостей баг остаётся. Причё даже при включении дефолтного шаблона.
Ситуация такая, делал сайт, в один прекрасный момент (в перерывах между работами над сайтом) включается какой-то фантастический кеш, который кеширует всё на столько сильно что при попытке перейти в режим редактирования после его включения нужно пару раз нажать в панели кнопку "Сбросить кеш". Обращался в поддержку хостинга, там сказали что у них всё ок. Обратился в поддержку битрикса, ребята из сапоорта обратили внимание что такое кеширования может быть связано с неправильно работой прекомпилятора php, перешли с версии 5.3 на 5.6 (на сайте не продлена лицензия версия битрикса 15.5.10, это новая версия старого сайта) , в общем помогло частично. Кеширование пропало со страниц на которых нет комплексных компонентов, например на странице каталога всё осталось по прежнему.
Затем добавили в dbconn.php такой код:
Код
session_cache_limiter('public');
На время всё заработало нормально, бешеный кеш пропал. Но вот поработал над сайтом ешё немного и он вернулся, только теперь всё ещё хуже, кеширует страницы, а после сброса кеша из админки, сайт вообще может выкинуть из авторизации, разлогинить вобщем. Потом по паре страниц прошёлся - опять всё норм. Первый раз с такой штукой сталкиваюсь. Подскажите что это может быть?
Коллеги! Всем сдающим советую заранее поработать со справкой по API предоставляемой на экзамене в виде файла. У меня возникли определённые сложности при поиске нужных необходимых методов ( а интернетом пользоваться нельзя )
Подсказали посмотреть в ядре метод GetDiscountForProduct в файле \bitrix\modules\catalog\general\discount.php, в нём достаются скидки и проверяется поле UNPACK которое содержит выражение на php вида ($ПарметрыТовара['КатегорияТовара']==15 && $ПарметрыТовара['СвойствоПроизводитель'] == 'Найк') и т.д., т.е. условие ( как я понял ) для конкретного товара. Но чтобы им воспользоваться нужно в моей задаче мне ведь нужно вытащить все товары со всеми параметрами, потом достать UNPACK скидки и проверить каждый товар на соответствие условию, а это будет долго.
Никак нельзя выбрать только те товары которые нужны (которые удовлетворяют условиям скидки)?
Нужно дополнительно проверять товары на ряд параметров, т.е. из 1С-ки идёт всё подряд (не спрашивайте почему, убеждения клиента). Мне нужно на саобытии OnSuccessCatalogImport1C выделять ID товаров которые были загружены на текущем шаге, чтобы проверять именно эти товары. Не пойму как это сделать.
На сайте есть несколько форм сделанных на основе компонента bitrix:iblock.element.add.form, по сути они все добавляют элементы в один и тот же инфоблок ( инфоблок "заявки на оценку" ) дальше перехватывается событие OnAfterIBlockElementAdd и отправляется письмо о новой заявке на e-mail менеджера. Сейчас мне нужно отличать эти формы и отправлять письма на разные e-mail-ы.
Я подумал что можно передавать какой-то параметр в создаваемый компонентом bitrix:iblock.element.add.form чтобы в обработчике OnAfterIBlockElementAdd (считав параметр из $arFields ) понять из какой формы создаётся заявка и отправить письмо на соответствующий адрес. Но я не найду как это сделать (если это вообще возможно). Вот собственно вопрос, а можно ли передавать дополнительный параметр в создаваемый из bitrix:iblock.element.add.form элемент и если можно то как? Что-то дописать в component_epilog?
Как отличить 1С-ку от обычного пользователя при обновлении элемента инфоблока? Вешаю обработчик на OnBeforeIBlockElementUpdate, нужно отличить 1С от обычного пользователя (администратора) и запрещать 1С-ке внусить некоторые изменения. На сколько знаю определение пользователя $USER происходит после инициализации init.php (порядок выполнения страницы https://dev.1c-bitrix.ru/api_help/main/general/pageplan.php ) и вариант "создать для обмена 1С отдельного пользователя с правами админа" не подходит.
[ Закрыто] Кто разобрался с новым шаблоном интернет магазина на 1С Битрикс 14.x ?, Кто разобрался с новым шаблоном интернет магазина на 1С Битрикс 14.x ? Пытаюсь натянуть туда свою вёрстку, что-то не очень получается.
Сергей Вольвич, да там есть свои приколы, правда я сейчас лезу в JS класс и шаблона ( файл script.js в папке шаблона компонента ) и переписываю его. В нём можно убрать проверки на вторую картинку, и пр. чушь, ищите в script.js что-то типа this.errorCode = .... на каждый косяк (отсутствие картинки, кнопки, поля количества и т.п.) устанавливается свой this.errorCode. Чтобы не писать такие штуки:
Код
<?if ($arItem['SECOND_PICT']){?>
<met a id="<? echo $arItemIDs['SECOND_PICT']; ?>">
<?}?>
просто удалите закомментируйте в script.js проверку наличия этого элемент.
Евгений Жуков, а не подскажете, может я вообще не с той стороны подхожу. Одна из проблем что с 1С приходит какая-то хрень непонятная информация, а именно товары без цен. Вот их я и хочу отсечь. Искать через OnAfterProductAdd и CPrice::GetBasePrice() и потом удалять их (товары без цены) или как-то ещё?
Может быть вопрос решится на стороне 1С, но вот сейчас его нужно решить на стороне сайта. =)
Белкин Алексей, запустите виртуальную машину, укажите скаченный демо-сервер, у вас начнёт в окошке запускаться ubuntu в которой настроена среда для работы со всеми делами, практически то же что и на экзамене (только работает быстрей ), переходити в это окошко, вводите логин/пароль и работайте.
Ситуация с точностью да наоборот, для удобства правки стилей решил отключить склеивание файлов снял все галочки объединения CSS, JS, подключения минифицированных файлов, переноса и т.д. в итоге все стили из template_style.css не подключаются, остаются только те что в компонентах, причём дефолтные (т.е. из системной папки bitrix/components/...), хотя в коде страницы template_style.css подключается.
У меня стандартный шаблон магазина eshop_bootstrap_blue, в чём может быть причина?
Евгений Жуков написал: // дальше сохранять цены, количество на складе и т.п.
Евгений скажите а с чем может быть связана такая ситуация: Я заливаю товары с предложениями, предварительно распарсив csv выгрузку c OpenCart (переносим сайт на битрикс), так вот товары и предложения залились всё вродебы хорошо. Но они (торговые предложения) прикрепившись к товару являются недоступными http://joxi.ru/v29Q16GT330KG2 , соответственно при попытке купить этот товар получаю ошибку "Товар не найден" http://joxi.ru/nAyzw4JIYYxdOr . Но если взять отметить все торговые предложения в карточке товара, нажать кнопку "Редактировать отмеченные записи" http://joxi.ru/D2PjZ5dSppDEzr и затем ничего не меняя просто нажать кнопку сохранить, значение колонки "Доступность" изменится на "Да" http://joxi.ru/l2ZvyOxfwwbYq2 , а товар покупается без проблем http://joxi.ru/4Ak3Y4lhyyPLWA .
И ещё одна маленькая странность. Помимо того что созданные предложения недоступны, если зайти в карточку предложения непосредственно из инфоблока торговых предложений, то цены там нет http://joxi.ru/DmBXGOZhwwVXPA , а если открыть родительский товар и перейти на вкладку "Торговые предложения" то все цены на месте http://joxi.ru/82QVa6LSjjQPpA .
Цену я добавлял вот так:
Код
//Устанавливаем цену на торговое предложение
$arFieldsPrice = array(
"PRODUCT_ID" => $newOfferId, //ID-шник только что добавленного ТП
"CATALOG_GROUP_ID" => 1, //Базовая цена (у меня один тип цен)
"PRICE" => ($row['price']==0) ? $arProducts[$row['product_id']]['PRICE'] : $row['price'], //Тут ставим цену из базы или цену родительского товара
"CURRENCY" => "RUB",
);
//Проверяем на ошибки
if(!CPrice::Add($arFieldsPrice)){
echo 'Ошиба добавления цены <br/>';
print_p($arFieldsPrice);
break;
}
В общем я в недоумении =) Думал выдрать что-нибудь полезное (всмысле готового рабочего куска кода) из 1c_exchenge.php но там всё с XML завязано, не подошло, а где ещё подсмотреть я не знаю =(
Выражаю солидарность! )) Поменял слайдер в шаблоне и всё Cannot read property 'nodeType' of null может кому пригодится там есть метод в прототипе называется ChangeInfo() вот из него можно выкосить всё что вы не используете в своём шаблоне, например стандартный слайдер. И тогда всё работает )
А ещё для отладки (опять таки если кто не знает) своего шаблона там же в script.js найдите метод Init() и в конце выведите код ошибки:
Код
console.log('Error code: ' + this.errorCode)
Если ошибок нет, errorCode равен нулю, иначе ищите по коду что изменил значение errorCode.
Тема конечно древняя, но вот возник вопрос. А почему у меня CCatalogMeasureRatio::getList() выбирвет только те товары у которых коэффициент единицы измерения равен единице?
Код
//ранее по коду получаю все активные товары каталога и засовываю их ID-шники в $productIDs
//Получаем коэффициенты еденицы измерения для ранее выбранных товаров
$result = CCatalogMeasureRatio::getList(array("ID"=>"ASC"), array("ID"=>$productIDs), false, false, array());
while($productRation = $result->fetch()){
$measureRatioByProductId[$productRation["PRODUCT_ID"]] = $productRation["RATIO"];
}
//в итоге тут $measureRatioByProductId нет товаров у кторых коэффициент стоит 25, 50 и т.д. хотя в $productIDs я их передаю
Тема конечно древняя но задача попалась похожая. Настроил единицы измерения товара как килограммы, добавляю товар один и тот же 2 раза по килограмму, в корзине вижу 1 позицию на 2 кг http://joxi.ru/KAxew4JsMnv9Xr а надо 2 по 1 кг (захотел купить я два торта по килограмму а тут засада). Добавил торговым предложениям новое свойство типа строка 'BASKET_HASHCODE' хэш позиции в корзине. В настройках комплексного компонента указал чтобы это свойство передавалось в корзину. Теперь вот таким кодом (в init.php) в момент добавления товара пытаюсь "уникализировать" переданную позицию.
[ Закрыто] Кто разобрался с новым шаблоном интернет магазина на 1С Битрикс 14.x ?, Кто разобрался с новым шаблоном интернет магазина на 1С Битрикс 14.x ? Пытаюсь натянуть туда свою вёрстку, что-то не очень получается.