Skip to content

Instantly share code, notes, and snippets.

@sreichel
Last active January 24, 2016 12:59
Show Gist options
  • Save sreichel/98af7f9304b42258df58 to your computer and use it in GitHub Desktop.
Save sreichel/98af7f9304b42258df58 to your computer and use it in GitHub Desktop.
<events>
<m2epro_insert_attributes_pattern>
<observers>
<sr_m2epro_insert_attributes_pattern>
<type>singleton</type>
<class>my_m2e_addon/observer</class>
<method>modifyAttributeSearchPattern</method>
</sr_m2epro_insert_attributes_pattern>
</observers>
</m2epro_insert_attributes_pattern>
<m2epro_get_attribute_value_before>
<observers>
<sr_m2epro_get_attribute_value_before>
<type>singleton</type>
<class>my_m2e_addon/observer</class>
<method>returnAttributeCodeBefore</method>
</sr_m2epro_get_attribute_value_before>
</observers>
</m2epro_get_attribute_value_before>
<m2epro_get_attribute_value_after>
<observers>
<sr_m2epro_get_attribute_value_after>
<type>singleton</type>
<class>my_m2e_addon/observer</class>
<method>returnAttributeCodeAfter</method>
</sr_m2epro_get_attribute_value_after>
</observers>
</m2epro_get_attribute_value_after>
</events>
<?php
public function modifyAttributeSearchPattern($observer)
{
$event = $observer->getEvent();
$object = $event->getM2eproData();
// added pipe "|"
$object->setData('preg_match_all', '/#([a-zA-Z_0-9|]+?)#/');
}
public function returnAttributeCodeBefore($observer)
{
$event = $observer->getEvent();
$object = $event->getM2eproData();
$attributeCode = $object->getData('attribute_code');
if ($attributeCode === '_related_products_') {
$object->setData(array(
'is_direct_output' => true,
'value' => '<<< related products html >>>'
));
return;
}
$attributeCode = explode('|', $attributeCode);
$object->setData('attribute_code', $attributeCode[0]);
if ($attributeCode[1]) {
$object->setData('html_tag', $attributeCode[1]);
}
}
public function returnAttributeCodeAfter($observer)
{
$event = $observer->getEvent();
$object = $event->getM2eproData();
$tag = $object->getData('html_tag');
if ($tag) {
$object->setValue('<' . $tag . '>' . $object->getAttribute()->getStoreLabel() . '</' . $tag . '>' . $object->getValue());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment