2012-10-05 4 views
2

I 제품의 자리 표시 자 이미지가 시스템에서 백엔드에서 설정 -> 설정 -> 카탈로그 -> 제품 이미지 자리 표시젠토 제품 자리 표시 자 이미지

나는 반 성공적으로 사용하여 내보기 중 하나에서 프로그래밍 방식으로 제품의 자리 표시 자 이미지에 액세스 할 수 있습니다 다음 코드를

$this->getSkinUrl($this->helper('catalog/image')->init(
Mage::getModel('catalog/product'), 'small_image')); 

내 문제는 그 위의 반환 :

http://x.dev/skin/frontend/base/default/http://x.dev/media/catalog/product/cache/7/small_image/0dc2d03fe217f8c83829496872af24a0/placeholder/default/logo_4.jpg* 

이 getSkinUrl 그것이 말씀하는 것처럼 보인다 그리고, 이쪽은 내 실제 문제, 난 그냥 getSkinUrl을 제거 할 것이라고 생각 문제를 해결하기 위해 문자열로 피부 경로 추가합니다 :

$this->helper('catalog/image')->init(
Mage::getModel('catalog/product'), 'small_image'); 

그러나 위의 코드 예외 :

PHP Fatal error: Allowed memory size of 268435456 bytes exhausted 

수를 누구나 이것으로 문제가 생기면, 나는 덜하는 것처럼 보이고 루프에 갇혀있는 것처럼 보입니다.

다른 방법으로 알고있는 사람이 있습니까? 나는 정말로 붙어있어 정말 하드 코딩을하고 싶지 않다. 바른 길에 저를 설정하기위한 @Lucasmus에

감사

+1

요 u로드 된 제품 대신 빈 제품 모델을 지정하십시오. '$ this-> helper ('catalog/image') -> init ( Mage :: getModel ('catalog/product') -> load (), 'small_image');'를 사용하면 어떨까요? 은 a 제품 ID? –

+0

@Lucasmus 불행히도 이것은 똑같은 문제를 일으 킵니다. 흥미롭게도 productId의 유무에 관계없이 이미지에 대한 언급이없는 상태에서 productId가 이미지 위치를 부여했지만 placeholder가 아닌 제품의 경우 Mage :: getModel ('catalog/product')을 var_dumped했습니다. 극단적으로 해키 한 방법으로 내가 존재하지 않는 이드를 지정하면 나는 올바른 장소 홀더를 얻는다. 'Mage :: getModel ('catalog/product') -> load (1247901) -> getSmallImageUrl (200,200));'감사합니다. 그런 해커가 아닌 다른 아이디어. – input

+0

나는'Mage :: getModel ('catalog/product') -> getSmallImageUrl (200,200)'을 사용하여 끝내었다. 비트 해키지만 트릭을 수행한다. – input

답변

11

많은 감사합니다.

나는 이것을 해치는 방법으로 해결했지만 결국 효과가있다. -> 구성 -> 카탈로그 - 당신이 시스템에 설정된 제품의 자리 표시 자 이미지를 얻을 것이다

Mage::getModel('catalog/product')->getSmallImageUrl(200,200); 

@Tyler V가 지적했듯이> 제품 이미지 자리 표시

편집

이는 감가 상각입니다 메서드를 사용하고 싶지 않다면 메서드의 동일한 로직을 조금 더 자세하게 사용할 수 있습니다.

(string)Mage::helper('catalog/image')->init(
     Mage::getModel('catalog/product'), 
     'small_image' 
    )->resize(200, 200); 
+1

이 메소드는 1.1.5 이후로 사용되지 않습니다. –