// addsharethis cache
This commit is contained in:
1 parent
930c9f3ff5
commit
95b5036782
1 file changed
+63
-36
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user