2013-03-08 4 views
-1

Как настроить работу cron в пурпурно шаг за шагом. Если у меня есть атрибут с установленной датой, я хочу, чтобы задание cron отключило продукт, если день прошел мимо ...Задача Cron отключить продукт Magento 1.7 CE

+0

ли вы нашли решение? – 2016-05-09 12:25:39

ответ

4

1) Создайте собственный модуль, есть много руководств по этому поводу - или используйте Создатель модуля, чтобы начать работу.

2) Добавлена ​​Крон припусков на ваш модулей конфигурации

config.xml

... 
    <crontab> 
     <jobs> 
      <mymodule_disable> 
       <schedule> 
        <!-- every 10 min --> 
        <cron_expr>*/10 * * * *</cron_expr> 
       </schedule> 
       <run> 
        <model>mymodule/Scheduler::disable</model> 
       </run> 
      </mymodule_disable> 
     </jobs> 
    </crontab> 

</config> 

теперь создать класс для решения этой задачи для вас (MODULENAME/Модель/Scheduler.php)

Scheduler.php

<?php 
class Mymodule_Model_Scheduler 
{ 
    /** 
    * Disable prodcuts for us 
    */ 
    public static function disable() 
    { 
     // This will be run every 10 minutes, we want to get applicable products 
     // you will need to customize the filter for what you need, subtracting 
     // or adding date values etc.. you get the idea :) 
     $date = Mage::getModel('core/date')->gmtDate(); // add/subtract etc 
     $collection = Mage::getModel('catalog/product')->getCollection(); 
     $collection->addfieldtofilter('custom_date_attr', array(
      array('to' => $date), 
      //array('gteq' => $date) 
     )); 
     foreach($collection as $product) { 
      $product->setStatus(Mage_Catalog_Model_Product_Status::STATUS_DISABLED); 
      $product->save(); 
     } 
    } 
} 

Теперь нужно настроить хрон для запуска Magentos планировщик, пример:

*/10 * * * * php -f /path/to/magento/cron.php 
Смежные вопросы