사전 설명 메타 데이터를 채 웁니다
-
13-12-2019 - |
문제
/ app/code/mage/catalog/block/product/view.php를보고 _PREPERELAYOUT 함수
에있는 메타 설명 태그에 대한 논리를 볼 수 있습니다.$description = $product->getMetaDescription();
if ($description) {
$headBlock->setDescription( ($description) );
} else {
$headBlock->setDescription(Mage::helper('core/string')->substr($product->getDescription(), 0, 255));
}
.
이것은 훌륭하지만 논리를 변경하여 메타 설명을이 순서로 채 웁니다
- 메타 설명
- 설명
- 짧은 설명
- 제품 제목
- 기본 메타 설명
이를 달성하는 가장 좋은 방법은 무엇입니까?_PREPERELAYOUT 함수를 무시할 것입니까?
해결책
블록의 재정의에 대해 제안하면 마그네 토를 업그레이드 할 시간이있을 때 악몽을 일으 킵니다.훨씬 깨끗한 방법은
에 관찰자를 추가하는 것입니다.- "core_block_abstract_prepare_layout_after"또는
- "core_block_abstract_to_html_before"
이벤트.둘 다 원하는 객체에 액세스 할 수 있습니다.블록 논리를 수정할 수있는 다른 이벤트도있을 수 있습니다.
관찰자가있는 핵심 시스템이 미래의 업그레이드에서 해당 이벤트를 트리거하지 않더라도 이점을 얻을 수 있습니다 (가능성이 없지만 잠시 낙천적 인 것임)에서는 아무 것도하지 않는 함수가 있습니다.블록 파일에서 "치명적인 오류"가 아닙니다.
제휴하지 않습니다 magento.stackexchange