// addsharethis cache

This commit is contained in:
Rémi Gaillard committed 2013-11-02 15:41:40 +01:00
1 parent 930c9f3ff5
commit 95b5036782
1 file changed
+63 -36
+63 -36
View File
@@ -47,6 +47,9 @@ class AddShareThis extends Module
parent::install() && parent::install() &&
$this->registerHook('Extraright') && $this->registerHook('Extraright') &&
$this->registerHook('header') && $this->registerHook('header') &&
$this->registerHook('actionObjectProductUpdateAfter') &&
$this->registerHook('actionObjectProductDeleteAfter') &&
$this->registerHook('actionObjectProductAddAfter') &&
Configuration::updateValue('CONF_ROW', 'ea22d519-9f98-4018-99a9-5b5f1b100fa8') && Configuration::updateValue('CONF_ROW', 'ea22d519-9f98-4018-99a9-5b5f1b100fa8') &&
Configuration::updateValue('ADDTHISSHARE_TWITTER', 1) && Configuration::updateValue('ADDTHISSHARE_TWITTER', 1) &&
Configuration::updateValue('ADDTHISSHARE_GOOGLE', 1) && Configuration::updateValue('ADDTHISSHARE_GOOGLE', 1) &&
@@ -120,58 +123,66 @@ class AddShareThis extends Module
Configuration::updateValue('ADDTHISSHARE_GOOGLE', (int)Tools::getValue('Google')); Configuration::updateValue('ADDTHISSHARE_GOOGLE', (int)Tools::getValue('Google'));
Configuration::updateValue('ADDTHISSHARE_PINTEREST', (int)Tools::getValue('Pinterest')); Configuration::updateValue('ADDTHISSHARE_PINTEREST', (int)Tools::getValue('Pinterest'));
Configuration::updateValue('ADDTHISSHARE_FACEBOOK', (int)Tools::getValue('Facebook')); Configuration::updateValue('ADDTHISSHARE_FACEBOOK', (int)Tools::getValue('Facebook'));
$this->_clearCache('addsharethis.tpl');
} }
public function hookDisplayHeader($params) public function hookDisplayHeader($params)
{ {
$id_lang = (int)$this->context->language->id; if ($this->context->controller->php_self != 'product')
$product = new Product((int)Tools::getValue('id_product'), false, $id_lang); return;
$productLink = $this->context->link->getProductLink($product);
$images = $product->getImages((int)$id_lang);
foreach ($images AS $k => $image) $product = $this->context->controller->getProduct();
if ($image['cover']) $cache_id = 'addsharethis_header|'.(int)$product->id.'|'.(int)Tools::usingSecureMode().'|'.(int)$this->context->shop->id.'|'.(int)$this->context->language->id;
{ if (!$this->isCached('addsharethis_header.tpl', $cache_id))
$cover['id_image'] = (int)$product->id.'-'.(int)$image['id_image']; {
$cover['legend'] = $image['legend']; $id_lang = (int)$this->context->language->id;
break; $images = $product->getImages((int)$id_lang);
} foreach ($images AS $k => $image)
if ($image['cover'])
{
$cover['id_image'] = (int)$product->id.'-'.(int)$image['id_image'];
$cover['legend'] = $image['legend'];
break;
}
if (!isset($cover)) if (!isset($cover))
$cover = array('id_image' => Language::getIsoById((int)$id_lang).'-default', 'legend' => 'No picture'); $cover = array('id_image' => Language::getIsoById((int)$id_lang).'-default', 'legend' => 'No picture');
$this->context->smarty->assign(array( $this->context->smarty->assign(array(
'cover' => $cover, 'cover' => $cover,
'product' => $product, 'product' => $product,
'productLink' => $productLink, 'this_path' => $this->_path
'this_path' => $this->_path )
) );
); }
return $this->display(__FILE__, 'addsharethis_header.tpl', $cache_id);
return $this->display(__FILE__, 'addsharethis_header.tpl');
} }
public function hookExtraRight($params) public function hookExtraRight($params)
{ {
if (Configuration::get('ADDTHISSHARE_TWITTER')) $cache_id = 'addsharethis_content|'.(int)$this->context->shop->id;
$data['twitter'] = '<span class="st_twitter_hcount sharebtn" displayText="Tweet"></span>'; if (!$this->isCached('addsharethis.tpl', $cache_id))
{
if (Configuration::get('ADDTHISSHARE_TWITTER'))
$data['twitter'] = '<span class="st_twitter_hcount sharebtn" displayText="Tweet"></span>';
if (Configuration::get('ADDTHISSHARE_GOOGLE')) if (Configuration::get('ADDTHISSHARE_GOOGLE'))
$data['google'] = '<span class="st_googleplus_hcount" displayText="Google +"></span>'; $data['google'] = '<span class="st_googleplus_hcount" displayText="Google +"></span>';
if (Configuration::get('ADDTHISSHARE_PINTEREST')) if (Configuration::get('ADDTHISSHARE_PINTEREST'))
$data['pinterest'] = '<span class="st_pinterest_hcount sharebtn" displayText="Pinterest"></span>'; $data['pinterest'] = '<span class="st_pinterest_hcount sharebtn" displayText="Pinterest"></span>';
if (Configuration::get('ADDTHISSHARE_FACEBOOK')) if (Configuration::get('ADDTHISSHARE_FACEBOOK'))
$data['facebook'] = '<span class="st_facebook_hcount sharebtn" displayText="Facebook"></span>'; $data['facebook'] = '<span class="st_facebook_hcount sharebtn" displayText="Facebook"></span>';
$this->context->smarty->assign(array( $this->context->smarty->assign(array(
'addsharethis_data' => $data, 'addsharethis_data' => $data,
'conf_row' => Configuration::get('CONF_ROW') 'conf_row' => Configuration::get('CONF_ROW')
) )
); );
}
return $this->display(__FILE__, 'addsharethis.tpl'); return $this->display(__FILE__, 'addsharethis.tpl', $cache_id);
} }
public function hookLeftColumn($params) public function hookLeftColumn($params)
@@ -203,4 +214,20 @@ class AddShareThis extends Module
{ {
return $this->hookExtraRight($params); return $this->hookExtraRight($params);
} }
public function hookActionObjectProductUpdateAfter($params)
{
return $this->_clearCache('addsharethis_header.tpl', 'addsharethis_header|'.(int)$params['object']->id);
}
public function hookActionObjectProductDeleteAfter($params)
{
return $this->hookActionObjectProductUpdateAfter($params);
}
public function hookActionObjectProductAddAfter($params)
{
return $this->hookActionObjectProductUpdateAfter($params);
}
} }