У меня возникли некоторые проблемы в этом вопросе, я использую специально созданный MVC, который я создал несколько лет назад, и в то же время я обновлял его, а теперь мне удалось автоматизировать большую часть творений бэк-офиса, но с этой частью я не в состоянии передать некоторые параметры.
Это пример контроллера модуля:
<?php
require_once("lib/controllers.php");
class defaultpage extends controllers
{
public $varx;
public function index()
{
global $website_name;
$filename = pathinfo(__FILE__, PATHINFO_FILENAME); // Obter o nome do ficheiro
if(isset($_SESSION['username'])){
$this->header("$website_name Banners");
$this->navbar();
$this->displayb("backoffice/modules/$filename/view/$filename.tpl.php",$image);
$this->footer();
}else{
header("Location: /", true, 301);
exit();
}
}
}
#######################################################################################
# CONFIGURAR PÁGINA EDITAR
#######################################################################################
if(isset($fetch)){
}else{
$fetch = NULL;
}
$image =
[ // 1º IMAGEM 2º LABEL 3ºName 4º ID
[
"../../".$fetch['imagem'],"Imagem(1000 x 940px)","fileToUpload","fileToUpload"
]
];
$textarea =
[ // 1º Label 2º Name 3º Value
[
"Conteudo PT","conteudo",utf8_decode($fetch['conteudo'])
],
[
"Conteudo EN","conteudo_en",utf8_decode($fetch['conteudo_en'])
]
];
$input =
[ // 1º Label 2º Name 3 º Value
[
"Link (Opcional)","link",utf8_decode($fetch['link']),"text"
]
];
#######################################################################################
$module = new defaultpage;
?>
Пока все хорошо, если я пытаюсь получить доступ к этому контроллеру с другого контроллера, он будет работать успешно, в противном случае, если в этом средстве просмотра я попытаюсь получить доступ к $ image, $ textarea и $ input для генерации, я получу пустые строки.
Notice: Undefined variable: image in /home/gmtemhic/test-domain.xyz/backoffice/modules/banner/view/banner.tpl.php on line 32
Это часть файла представления контроллера, который я разместил выше:
require_once("backoffice/modules/$table/controller/$table.php");
var_dump($image);
print_r($image);
Я также попытался вместо этого поместить открытую функцию и передать ее как открытую переменную в классе, но все еще безуспешно.