我有一个 prestashop 插件,它向产品页面添加了一个额外的选项卡:
<?php
// Disable direct addressing to the script:
if (!defined('_PS_VERSION_'))
exit;
//Create module class:
class producttab extends Module {
//Class constructor that contains its configuration:
public function __construct()
{
$this->name = "producttab"; //Module name
$this->tab = "front_office_features"; //Tab with the module in Prestashop back-office modules list
$this->version = "1.0"; // Module version
$this->author = "BelVG"; // Module author
parent::__construct();
$this->displayName = $this->l("Product Tab"); // Module title
$this->description = $this->l("Module creates a new tab on the frontend product page "); // Module description
}
//Module installation-method:
public function install()
{
return (parent::install()
AND $this->registerHook('productTab') //Register productTab hook that will display the tab button
AND $this->registerHook('productTabContent') //Register productTabContent hook that will display the tab content
);
}
//Module deinstallation-method:
public function uninstall()
{
return (parent::uninstall()
AND $this->unregisterHook('productTab')
AND $this->unregisterHook('productTabContent')); // Delete all hooks, registered by the module
}
//Method will be called while performing the "ProductTab" hook (tab buttons generation):
public function hookProductTab($params)
{
global $smarty;
//Call the template containing the HTML-code ?? our button
return $this->display(__FILE__ , 'tpl/productTab.tpl');
}
public function hookProductTabContent($params)
{
global $smarty;
//Transfer the new tab content into template via smatry
//( it is optional as far as the content can be assigned directly in the template)
$result = Db::getInstance()->executeS('SELECT * FROM ps_cms_lang WHERE id_cms =14');
$smarty->assign('content', $result);
// Call the template containing the HTML-code of our new tab content:
return $this->display(__FILE__ , 'tpl/productTabContent.tpl');
}
}
?>
该模块按预期工作。我正在尝试调整相同的代码以添加另一个选项卡。由于某种原因,安装了新模块,但该选项卡没有出现。有什么我想念的吗?
<?php
// Disable direct addressing to the script:
if (!defined('_PS_VERSION_'))
exit;
//Create module class:
class jewellerytab extends Module {
//Class constructor that contains its configuration:
public function __construct()
{
$this->name = "jewellerytab"; //Module name
$this->tab = "front_office_features"; //Tab with the module in Prestashop back-office modules list
$this->version = "1.0"; // Module version
$this->author = "Mike Rifgin"; // Module author
parent::__construct();
$this->displayName = $this->l("jewellery Tab"); // Module title
$this->description = $this->l("Module creates a new tab on the frontend jewellery page "); // Module description
}
//Module installation-method:
public function install()
{
return (parent::install()
AND $this->registerHook('jewelleryTab') //Register jewelleryTab hook that will display the tab button
AND $this->registerHook('jewelleryTabContent') //Register jewelleryTabContent hook that will display the tab content
);
}
//Module deinstallation-method:
public function uninstall()
{
return (parent::uninstall()
AND $this->unregisterHook('jewelleryTab')
AND $this->unregisterHook('jewelleryTabContent')); // Delete all hooks, registered by the module
}
//Method will be called while performing the "jewelleryTab" hook (tab buttons generation):
public function hookjewelleryTab($params)
{
global $smarty;
//Call the template containing the HTML-code ?? our button
return $this->display(__FILE__ , 'tpl/jewelleryTab.tpl');
}
public function hookjewelleryTabContent($params)
{
global $smarty;
//Transfer the new tab content into template via smatry
//( it is optional as far as the content can be assigned directly in the template)
$result = Db::getInstance()->executeS('SELECT * FROM ps_cms_lang WHERE id_cms =14');
$smarty->assign('content', $result);
// Call the template containing the HTML-code of our new tab content:
return $this->display(__FILE__ , 'tpl/jewelleryTabContent.tpl');
}
}
?>