2013-10-25 1 views
-1

Magento에서 "New Product"카테고리를 만들었고 CRON 작업을 실행하여 자동으로 제품에 플래그를 지정하려고합니다. 지난 14 일 동안 생성 된 후 14 일 이상 생성 된 '신제품'카테고리에서 삭제합니다.CRON을 설치하여 최근에 추가 된 제품을 "New Product"카테고리에 자동으로 표시합니다.

나는 몇 개의 게시물을 보았고 여기에 언급 된 기사를 언급했다 : http://www.ecomdev.org/2010/06/07/how-to-schedule-the-future-product-activation.html 유일한 문제는 해당 게시물이 더 이상 유효하지 않다는 점입니다. Google 캐시에 저장하지 않았습니다.

답변

0

다음과 같이 안녕하세요 시도하십시오 :

<crontab> 
    <jobs> 
     <inchoo_birthday_send> 
      <schedule><cron_expr>0 1 * * *</cron_expr></schedule> 
      <run><model>birthday/observer::sendBirthayEmail</model></run> 
     </inchoo_birthday_send> 
    </jobs> 
</crontab> 

이 observer.php라는 이름의 모델 파일을 생성 (모델 폴더) : 다음 코드

먼저 사용자 정의 모듈을 생성하고 config.xml 파일의 사본 방법 sendBirthayEmail으로 다음과 같이

난 내 설치 한 100 % 완료되지에서 위의 코드를 복사 한 제발하지 않는 것이
class Inchoo_Birthday_Model_Observer 
{ 
    public function sendBirthayEmail() 
    { 
     $day = new DateTime(); 
     $todayDate = Mage::app()->getLocale()->date()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT); 
     $collection = Mage::getResourceModel('catalog/product_collection'); 
     $collection->addAttributeToFilter('status',1); //only enabled product 

     $day->modify("-14 days"); 
     $fromDate = $day->format("Y-m-d 00:00:00"); 
     $collection->addAttributeToFilter('created_at', array('or'=> array(0 => array('date' => true, 'from' => $fromDate), 1 => array('is' => new Zend_Db_Expr('null')))), 'left'); 
     $collection->setOrder('created_at', 'desc'); 
     $collection->addAttributeToSelect('*'); //add product attribute to be fetched 
     $collection->addStoreFilter(); 
     if(!empty($collection)) 
     { 
      //do your work here. 
     } 
     return $this; 
    } 
} 

, 당신의 코드로 조정할 필요가 원하는 결과물로 만드십시오.

관련 문제