Ich brauche interagiert mit einer .tpl Datei in meiner Admincontroller-Klasse, aber wenn ich versuche, das zu tun, dieser Fehler erscheintWas ist der beste Prestashop-Weg, um tpl in AdminController einzubinden?
Fatal error: Call to undefined method RiddlePageController::getCacheId() in /home/USER/public_html/prestashop/modules/RiddleModule/controllers/admin/RiddlePage.php on line 48
Dies ist mein Admin-Controller-Code:
class RiddlePageController extends AdminController {
public function __construct()
{
$this->html = '';
$this->display = 'view';
$this->meta_title = $this->l('metatitle');
$this->module = "RiddleModule";
parent::__construct();
}
public function initContent()
{
$this->postProcess();
$this->show_toolbar = true;
$this->display = 'view';
$this->meta_title = $this->l('Modulo');
parent::initContent();
}
public function initToolBarTitle()
{
$this->toolbar_title = $this->l('Titulo');
}
public function initToolBar()
{
return true;
}
public function renderView() {
$this->context->smarty->assign(
array(
'img1' => "http://www.free-3dmodels.com/image/Flowers-3D-Model-3662994d.png",
'img2' => "http://www.all3dmodel.com/Images/39.jpg"
)
);
// in return have error "getCacheId"
return $this->display(__FILE__, 'content.tpl', $this->getCacheId());
// return "<b>This works fine!!</b>";
}
meine tpl-Datei habe nur {$img1}
und {$img2}
zum Testen.
Vielleicht mache ich alles falsch, und das ist nicht der beste Weg, um in meiner eigenen Admin-Seite zu machen.
es nicht mein Freund funktioniert ... aber die gute Nachricht mit Ihrer Lösung zeigen nun die leere Seite nur, kein Fehler ... lass mich dir zeigen http://prnt.sc/dy8bp5 – manhattan
@manhattan [Dies] (http://stackoverflow.com/questions/40544689/render-helper-form-from-prestashop-admin -controller /) sollte Ihnen helfen, ein benutzerdefiniertes tpl in einem Admin-Controller zu laden. – TheDrot
@manhattan Ich habe eine Änderung vorgenommen, versuchen Sie 'AdminRiddlePageController' anstelle von' RiddlePageController', vergessen Sie nicht, die 'Tab'-Tabelle in DB zu aktualisieren – sarcom