Prestashop 1.6 - 后台 - Smarty - 创建一个简单的空白页面模块?

时间:2014-06-12 13:37:04

标签: module admin prestashop

我正在尝试为我的商店添加一些功能,并且在过去的两天里试图了解prestashop中的实际工作情况,或者更确切地说。

到目前为止,我已经制作了一个可以安装的模块,在安装时它会在左侧菜单上创建一个选项卡,我可以点击选项卡,它会加载控制器,但这是我卡住的地方......我可以'弄清楚如何在该状态下显示自定义内容。

我想要的是非常简单,只是一段文字和一个按钮。点击按钮后,我会做一些事情并记录一些事情,然后将结果显示为一个简单的报告。

所以对于初学者......我想用段落和按钮创建页面。

所以我在模块diretory中创建了一个名为priceupdate的文件夹

其中有:

/priceupdate.php

<?php
if (!defined('_PS_VERSION_'))
    exit;

class PriceUpdate extends Module
{
    public function __construct()
    {
        $this->name = 'priceupdate';
        $this->tab = 'quick_bulk_update';
        $this->version = '0.8';
        $this->author = 'Me';
        $this->need_instance = 0;
        $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);
        $this->bootstrap = true;

        parent::__construct();

        $this->displayName = $this->l('Pricing Update');
        $this->description = $this->l('Adds functionality relating to maintaining product my prices.');  

        $this->confirmUninstall = $this->l('Are you sure you would like to uninstall?');

    }

    public function install()
    {
        if (!parent::install()
            || !$this->installModuleTab('AdminPricingUpdate', array(1=>'Pricing Update'), 0))
            return false;
        return true;
    }

    public function uninstall()
    {
        if (!parent::uninstall()
            || !$this->uninstallModuleTab('AdminPricingUpdate', array(1=>'Pricing  Update'), 0))
            return false;
        return true;
    }

    private function installModuleTab($tabClass, $tabName, $idTabParent)

    {    
        $tab = new Tab();

        $tab->name = $tabName;

        $tab->class_name = $tabClass;

        $tab->module = $this->name;

        $tab->id_parent = $idTabParent;

        if(!$tab->save())

            return false;

        return true;

    }

    private function uninstallModuleTab($tabClass)

    {       
        $idTab = Tab::getIdFromClassName($tabClass);

        if($idTab != 0)

        {

            $tab = new Tab($idTab);

            $tab->delete();

            return true;

        }

        return false;

    }

}
?>

并且

/controllers/admin/AdminPricingUpdateController.php

<?php
class AdminPricingUpdateController extends AdminController
{

    public function __construct()

    {

        $this->lang = (!isset($this->context->cookie) || !is_object($this->context->cookie)) ? intval(Configuration::get('PS_LANG_DEFAULT')) : intval($this->context->cookie->id_lang);

        parent::__construct();

    }

    public function display(){

        parent::display();

    }

    public function renderList() {

        return $this->context->smarty->fetch(dirname(__FILE__).'/content.tpl');

    }   
}
?>

然而,这是有用的,我被卡住与content.tpl部分有关。在content.tpl文件中有什么内容才能让它在管理部分的内容区域内制作一个空白的内容页面?

我查看了手册并在论坛上花了不少时间查看问题,尝试通过分解其他模块来解决这个问题,但我发现它太复杂而无法真正理解它是什么。

如果有人可以帮助我理解这一点或指出我对这个特定主题的信息来源,那么非常感谢,谢谢!

1 个答案:

答案 0 :(得分:2)

Check that answer

如果您需要“管理部分内容区域内的空白页面内容”,则需要将content.tpl设为空白。

请注意,在我的示例中,如果模板名称为“content.tpl”,则无需设置模板的名称。