Среди специальных переменных системы есть DBDebug и DBDebugToFile, отвечающие за вывод ошибок БД. Значения этим переменным задаются в файле /bitrix/php_interface/dbconn.php
Как правильно настроить свойство заказа типа checkbox?, Как правильно настроить свойство заказа типа checkbox, чтобы в свойствах конкретного заказа отображалось его правильное значение?
Аналогичная ситуация, только при отмеченной галочке в свойствах заказа стоит "Да", а когда опция не выбрана - в свойствах заказа её нет. Какие настройки должны быть, чтобы свойство у заказа появлялось в любом случае (Да/Нет)?
Пример (обработчик BXIBlockAfterSave и регистрация для событий) можно посмотреть в стандартном решении интернет-магазин в файле /bitrix/php_interface/init.php. http://artw.ru/blog/archives/280/
то это решение датировано 2012 годом. Система претерпела уже несколько обновлений. Если этот обработчик и был когда-то в стандартной поставке (init.php), то это было очень давно. На данный момент файл init.php в системе может отсутствовать.
Как отловить регистрацию пользователя в момент оформления заказа, Нужно отловить регистрацию пользователя в момент оформления заказа и заполнить поля юзера полями из профиля покупателя.
Роман Мержеевский пишет: Отслеживается добавлению юзера легко (OnAfterUserAdd), однако в этот момент еще нет заказа, и соответственно, код который представил топикстартер не работает (еще нет профиля покупателя). Как быть?
Пытаюсь организовать обработку двух событий главного модуля. Возник интересный вопрос: можно ли в обработчике события определить идентификатор события, которое этот обработчик вызвало? Поиски по документации и форуму, равно как и по исходным кодам результатов не принесли. Так что сейчас не вижу другого решения, кроме как сделать для каждого события разные обработчики.
Код
//Вызывается до попытки регистрации нового пользователя методом CUser::Register
AddEventHandler('main', 'OnBeforeUserRegister', array('CCustomUserHandlers', 'OnCheckUserParams'));
//Вызывается в методе CUser::Update до изменения параметров пользователя
AddEventHandler('main', 'OnBeforeUserUpdate', array('CCustomUserHandlers', 'OnCheckUserParams'));
/**
* Обработчики пользовательской подсистемы
*/
class CCustomUserHandlers {
const DO_LOG = true;
const SPECIAL_USERS_GROUP = 16;
public static function OnCheckUserParams($arArgs) {
global $APPLICATION, $USER;
$sEvents = "";
// $sEvents .= var_export($arArgs, true) . "\n";
...
if ((strlen($sEvents) > 0) && self::DO_LOG)
AddMessage2Log("\n" . $sEvents);
return true;
}
}
Возможно кто-нибудь поделится советом или собственным опытом на этот счёт.
Олег Постоев пишет: А если вам понадобилось посмотреть, как устроена системная (Битрикса) функция, то 99.5% вероятности, что вы пытаетесь решить задачу неправильно.
Почему же? Часто быстрее кликнуть по методу зажав CTRL и глянуть его код, чем искать описание в документации. Тем более, что очень много методов до сих пор недокументировано.
А если по теме, то я предпочитаю держать на локальном сервере полную копию проекта со всем сопутствующим. С кодом работаю посредством Eclipse IDE.
Можно попробовать задать изображению ширину в процентах:
Код
<div id="content" style="width: 100%;">
<img src="image.jpg" style="float: left; height: auto; width: 50%;" />
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam elit ante, tempor at faucibus vel, consectetur ac eros. Ut non euismod leo. Cras bibendum vulputate mauris et
gravida. Nullam lobortis lobortis purus vitae lacinia. Donec erat diam, consequat et est in, pharetra rutrum eros. Sed vel turpis felis. Suspendisse potenti.
</p>
<p>
Suspendisse eget nibh pellentesque, dictum dui nec, eleifend lacus. Duis rutrum consequat congue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
cubilia Curae; Curabitur hendrerit nibh et euismod elementum. Duis elementum dui quis pellentesque pulvinar. Quisque luctus nibh sed odio fringilla, eget tincidunt nunc
sollicitudin. Cras sit amet felis id ex ullamcorper pretium sed vitae sem.
</p>
<p>
Sed elementum, est eu ultrices tempus, nulla erat molestie orci, nec dignissim risus metus eget augue. Cum sociis natoque penatibus et magnis dis parturient montes,
nascetur ridiculus mus. Aenean venenatis consectetur justo, a ornare diam vehicula nec. Sed bibendum felis leo, vitae luctus lectus malesuada vitae. Quisque vel sodales nunc.
Nullam sit amet iaculis mi. Donec ultrices ut dolor gravida sagittis. Ut id ultrices nibh. Donec pellentesque, libero imperdiet maximus pellentesque, ex ligula dapibus velit,
ac vulputate sem mi id velit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin dictum lectus a sem ullamcorper, ut vehicula ligula
egestas. Integer condimentum maximus erat, nec imperdiet quam laoreet eget. Morbi sem tellus, finibus sed odio quis, convallis placerat massa.
</p>
</div>
Есть упоминание этого класса в комментариях к релизу складкого учёта в версии 12.5.0 Торгового каталога:
Цитата
20.05.2013 По API - есть класс CCatalogStoreBarCode, можно стандартными методами getList, add, update, delete - дергать нужную информацию. А вот с документацией конечно есть отставание, ее пока нет, но мы будем работать в этом направление.
Обратите внимание на класс CCatalogStoreBarCode и метод внутри него getList. Думаю его можно использовать для получения штрих-кода элемента торгового каталога. Расположен он в файле: /bitrix/modules/catalog/mysql/store_barcode.php
Думаю, достаточно будет использовать CSaleOrderUserProps::GetList() для получения массива профилей покупателя и CSaleOrderUserPropsValue::GetList() для получения значений свойств профилей покупателя.
Скорее всего Ваш сервер игнорирует файлы htaccess. При запросе любого несуществующего URL должна выводится страница 404.php, если этот механизм не переделан. У Вас же выводится стандартная страница ошибки сервера: http://metallurgpribor.host4g.ru/error-test-page/
Если Вы правили параметры компонента bitrix:news в режиме PHP-кода, то также необходимо проверить содержимое файла urlrewrite.php в корне сайта на наличие следующих строк: