2013-08-12 5 views
0

카테고리 작성을 위해 옵저버를 만들었으며 localhost (Mac)에서 제대로 작동하고 서버 (Linux)에서 제대로 작동하지 않습니다.Magento 옵저버는 서버가 아닌 로컬 호스트에서 작동합니다.

의 Config.xml :

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Vmo_CategoryToAttributeOption> 
      <version>0.1.0</version> 
     </Vmo_CategoryToAttributeOption> 
    </modules> 
    <global> 
     <models> 
      <vmo_categorytoattributeoption> 
       <class>Vmo_CategoryToAttributeOption_Model</class> 
      </vmo_categorytoattributeoption> 
     </models> 
     <helpers> 
      <vmo_categorytoattributeoption> 
       <class>Vmo_CategoryToAttributeOption_Helper</class> 
      </vmo_categorytoattributeoption> 
     </helpers> 
     <events> 
      <catalog_category_prepare_save> 
       <observers> 
        <vmo_categorytoattributeoption_model_observer> 
         <class>vmo_categorytoattributeoption_model_observer</class> 
         <method>savecategoryobserver</method> 
        </vmo_categorytoattributeoption_model_observer> 
       </observers> 
      </catalog_category_prepare_save> 
     </events> 
    </global> 
</config> 

이것은 로컬/VMO/CategoryToAttributeOption/모델/Observer.php

class Vmo_CategoryToAttributeOption_Model_Observer extends Varien_Event_Observer 
{ 
    public function __construct() 
    { 

    } 

    public function savecategoryobserver($observer) 
    { 
     $event = $observer->getEvent(); 
     $cat_model = $event -> getCategory(); 

     $name = $cat_model->getName(); 
     Mage::log("works: " . $name); 
    } 
} 

이것은 Vmo_CategoryToAttributeOption.xml이다

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Vaimo_CategoryToAttributeOption> 
      <active>true</active> 
      <codePool>local</codePool> 
     </Vaimo_CategoryToAttributeOption> 
    </modules> 
</config> 

무엇이 잘못되었는지 생각하고 있습니까? 왜냐하면 localhost에서는 작동하지만 라이브 서버에서는 그렇지 않습니다.

+0

에,

<class>Vmo_CategoryToAttributeOption_Model_Observer</class> 

또는 더 나은 아직, 그래서 나는 코드에 문제가 없다고 생각 :
는이 같은 모델을 선언 해결합니다. 캐시를 새로 고쳤습니까? – nXqd

+0

예. 했어요. 또한 다시 색인을 생성했으나 여전히 작동하지 않습니다. 그냥 범주를 만들려고 할 때 막혔습니다 - 잠깐만 기다려주십시오. 그리고 바로 대답 인 – user2331875

답변

7

로컬 머신이 Windows/MAC에 있고 서버가 리눅스라는 사실에 돈을 쓰고 있습니다.
(Windows/MAC) 파일 이름은 대소 문자를 구분하지 않으며 Linux에서는 대소 문자를 구분합니다. 이 젠토 파일 vmo/categorytoattributeoption/model/observer.php의 클래스를 찾습니다 의미

<class>vmo_categorytoattributeoption_model_observer</class> 

:
이 같은 이벤트의 클래스를 선언했다. 윈도우즈/MAC에서는 발견했지만, 리눅스에서는 존재하지 않습니다. 이 지역에서 작동하는 경우 표준 방식

<class>vmo_categorytoattributeoption/observer</class> 
+0

을로드하십시오! 감사! 내 로컬 컴퓨터가 Mac - 대소 문자를 구분합니다. – user2331875

+0

@ user2331875 woa, Mac에서 대소 문자를 무시한다는 것을 알지 못했습니까? 나는 다른 것일 것입니다 – nXqd

+1

@ user2331875. Ok ... 나의 무지를 유감스럽게 생각한다. 나는 MAC에 대해 잊어 버렸다. 나는 대답을 업데이트 할 것이다. – Marius

관련 문제