Как использовать shopNotifications::send??

Для плагина понадобилась возможность рассылки сообщений клиентам. Хотелось бы использовать функцию стандартных уведомлений. В том числе с использованием пользовательских шаблонов уведомлений, которые задаются в админке магазина.
Пытаюсь в плагине вызвать
shopNotifications::send('мой_эвент_заказа', array(сформированный массив))

или второй вариант:

$notify = new shopNotifications();
$notify->send('мой_эвент_заказа', array(сформированный массив)


но мне в любом варианте выбрасывает ошибку:

2013-10-30 03:28:46: exception 'SmartyException' with message 'unable to write file /var/www/dimka/data/www/market.muskul.ru/wa-cache/apps/shop/templates/compiled/shop_en_US/78/ac/d9/wrt527044ae562337.10721486' in /var/www/dimka/data/www/market.muskul.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_write_file.php:44
Stack trace:
#0 /var/www/dimka/data/www/market.muskul.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_template.php(201): Smarty_Internal_Write_File::writeFile('/var/www/dimka/...', '<?php /* Smarty...', Object(Smarty))
#1 /var/www/dimka/data/www/market.muskul.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
#2 /var/www/dimka/data/www/market.muskul.ru/wa-system/view/waSmarty3View.class.php(121): Smarty_Internal_TemplateBase->fetch('string:????????...', NULL)
#3 /var/www/dimka/data/www/market.muskul.ru/wa-apps/shop/lib/classes/shopNotifications.class.php(84): waSmarty3View->fetch('string:????????...')
#4 /var/www/dimka/data/www/market.muskul.ru/wa-apps/shop/lib/classes/shopNotifications.class.php(42): shopNotifications::sendEmail(Array, Array)
#5 /var/www/dimka/data/www/market.muskul.ru/wa-apps/shop/plugins/gdeposylka/lib/cli/shopGdeposylkaUpdate.cli.php(61): shopNotifications::send('order.pribil', Array)
#6 /var/www/dimka/data/www/market.muskul.ru/wa-system/controller/waController.class.php(21): shopGdeposylkaUpdateCli->execute()
#7 /var/www/dimka/data/www/market.muskul.ru/wa-system/waSystem.class.php(505): waController->run()
#8 /var/www/dimka/data/www/market.muskul.ru/wa-system/cli.php(15): waSystem->dispatchCli(Array)
#9 /var/www/dimka/data/www/market.muskul.ru/cli.php(3): require_once('/var/www/dimka/...')
#10 {main}


Как же таки пользоваться столь замечательной функцией?

3 ответа

  • 0
    Леонид Вакуленко Webasyst 30 октября 2013 07:23 #
    На папку wa-cache точно есть права на запись?
  • 0
    Дмитрий (BNP) 30 октября 2013 07:29 #
    Ставил даже 777. Не помогает
    • 0
      Дмитрий (BNP) Дмитрий (BNP) 30 октября 2013 07:29 #
      И как их может не быть, если сам вебасист нормально туда пишет и так же нормально оттуда стирает (очистить кеш)?
    • 0
      Дмитрий (BNP) Дмитрий (BNP) 30 октября 2013 07:34 #
      Возможно проблема связана с тем, что я это пытаюсь вызвать не в самом плагине, а в скрипте, который вызывается по крону. Хотя пробовал в кроне запускать и от владельца папки и от рута. Ничего не помогает.
    • 0
      Дмитрий (BNP) Дмитрий (BNP) 30 октября 2013 07:34 #
      Возможно проблема связана с тем, что я это пытаюсь вызвать не в самом плагине, а в скрипте, который вызывается по крону. Хотя пробовал в кроне запускать и от владельца папки и от рута. Ничего не помогает.
  • 0
    Леонид Вакуленко Webasyst 30 октября 2013 09:45 #
    Если вызвать из консоли не кроном, работает?
    Если выполнить код приложением Developer, работает?
    • 0
      Дмитрий (BNP) Дмитрий (BNP) 19 ноября 2013 18:17 #
      Наконец-то опять дошли руки до этого момента.
      Да, при вызове из консоли - все работает корректно.
      Что посоветуете?
      • 0
        Дмитрий (BNP) Дмитрий (BNP) 19 ноября 2013 18:40 #
        Хотя нет. Корректно - это если под рутом запускать. Если под другими пользователями, в cli.log валится:
        2013-11-20 03:36:26: exception 'SmartyException' with message 'unable to write file /var/www/dimka/data/www/market.muskul.ru/wa-cache/apps/shop/templates/compiled/shop_en_US/a3/da/89/wrt528bf5facaf5e5.17982967' in /var/www/dimka/data/www/market.muskul.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_write_file.php:44
        Stack trace:
        #0 /var/www/dimka/data/www/market.muskul.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_template.php(201): Smarty_Internal_Write_File::writeFile('/var/www/dimka/...', '<?php /* Smarty...', Object(Smarty))
        #1 /var/www/dimka/data/www/market.muskul.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
        #2 /var/www/dimka/data/www/market.muskul.ru/wa-system/view/waSmarty3View.class.php(121): Smarty_Internal_TemplateBase->fetch('string:????????...', NULL)
        #3 /var/www/dimka/data/www/market.muskul.ru/wa-apps/shop/lib/classes/shopNotifications.class.php(84): waSmarty3View->fetch('string:????????...')
        #4 /var/www/dimka/data/www/market.muskul.ru/wa-apps/shop/lib/classes/shopNotifications.class.php(42): shopNotifications::sendEmail(Array, Array)
        #5 /var/www/dimka/data/www/market.muskul.ru/wa-apps/shop/plugins/gdeposylka/lib/cli/shopGdeposylkaUpdate.cli.php(125): shopNotifications::send('order.deliv', Array)
        #6 /var/www/dimka/data/www/market.muskul.ru/wa-apps/shop/plugins/gdeposylka/lib/cli/shopGdeposylkaUpdate.cli.php(31): shopGdeposylkaUpdateCli->sendNotif('5664')
        #7 /var/www/dimka/data/www/market.muskul.ru/wa-system/controller/waController.class.php(21): shopGdeposylkaUpdateCli->execute()
        #8 /var/www/dimka/data/www/market.muskul.ru/wa-system/waSystem.class.php(505): waController->run()
        #9 /var/www/dimka/data/www/market.muskul.ru/wa-system/cli.php(15): waSystem->dispatchCli(Array)
        #10 /var/www/dimka/data/www/market.muskul.ru/cli.php(3): require_once('/var/www/dimka/...')
        #11 {main}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите