djamali
@djamali
web developer

Почему не срабатывает событие OnBeforeOrderAdd?

Перед добавление товара в корзину не создается xml файл
AddEventHandler("sale", "OnBeforeOrderAdd", "OnOrderAdd_item"); 

function OnOrderAdd_item()
{
    
 //Создает XML-строку и XML-документ при помощи DOM 
$dom = new DomDocument('1.0'); 

//добавление корня - <books> 
$books = $dom->appendChild($dom->createElement('books')); 

//добавление элемента <book> в <books> 
$book = $books->appendChild($dom->createElement('book')); 

// добавление элемента <title> в <book> 
$title = $book->appendChild($dom->createElement('title')); 

// добавление элемента текстового узла <title> в <title> 
$title->appendChild( 
                $dom->createTextNode('Great American Novel')); 

//генерация xml 
$dom->formatOutput = true; // установка атрибута formatOutput
                           // domDocument в значение true 
// save XML as string or file 
$test1 = $dom->saveXML(); // передача строки в test1 
$dom->save('test1.xml'); // сохранение файла 

}

но в папке php_interface XML ФАЙЛ НЕ СОЗДАЕТСЯ
  • Вопрос задан
  • 2560 просмотров
Пригласить эксперта
Ответы на вопрос 3
Rad1calDreamer
@Rad1calDreamer
потому что при вызове функции обработчика нужно ему передавать ТЕ ЖЕ параметры, что и у исходной функции.
В вашем случае:
function OnOrderAdd_item(&arFields)
Смотрим в документацию

ну и дебагом все отладить, может он заходит, но не создает файл просто
Ответ написан
Комментировать
JohnDaniels
@JohnDaniels
1. нет прав на запись в php_interface?
2. иногда встречаю там .htaccess c deny from all, проверьте
3. в любом случае должна быть ошибка в логах
Ответ написан
Комментировать
Вас не смущает, что событие на добавление в корзину называется OnBeforeOrderAdd?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы