Здравствуйте.1.10.3.В файле /components/test/ два файла frontend.php и add.php. И в шаблоне _default_/components два com_test_view.tpl и com_test_add.tpl. В com_test_add.tpl форма.Обработчик в add.php. Данные выводит соответственно в.../components/test/add.php?url=...
Подскажите как прописать, что бы данные выводились в com_test_view.tpl.(открывается через if($do = view))
#1
27 марта 2014 в 16:11
Обработчик не обязательно должен быть в отдельном файле add.php… У меня например в Frontend.php внутри if ($do == 'add')
Вообщем если вы хотите вывести данные из БД в view то вот примерный код:
Вообщем если вы хотите вывести данные из БД в view то вот примерный код:
if ($do == 'view'){ $zapis = $model->getZapis(); //В моделе нужно создать функцию getZapis $smarty = $inCore->initSmarty('components', 'com_test_view.tpl'); $smarty->assign('zapis', $zapis); $smarty->display('com_test_view.tpl'); return; }
#3
27 марта 2014 в 18:47
Да, я понимаю, но там ещё функция к обработчику и куча echo, не хочу пока загромождать файл, а там видно будет.Обработчик не обязательно должен быть в отдельном файле add.php…
Т.е. нужно данные занести в array(), занести array() в базу, а потом вывести всё это дело из базы снова в array(). $zapis это масссив, как я понимаю?
Сегодня в 15:50
#4
27 марта 2014 в 21:11
$zapis получает данные из БД, сохраняет в массив и передает в com_test_view.tpl
Пример функции в model.php
Пример функции в model.php
public function getZapis(){ $sql = "SELECT * FROM cms_table"; $result = $this->inDB->query($sql); if ($this->inDB->error()) { return false; } if (!$this->inDB->num_rows($result)) { return false; } while ($zap = $this->inDB->fetch_assoc($result)){ $zapis[] = $zap; } return $zapis; }
#5
27 марта 2014 в 22:05
OK, с этим понятно. Спасибо, буду дальше разбираться.