我正在尝试使用Zend Framework Forms重新加载网页。第一次加载页面时,它看起来很好。然后我点击网页中的一个动作,如下所示:
<a style="color:#FFF" href="/admin/showMedia/1" class="">Today </a>
当在我的控制器程序中处理逻辑时,它会返回我想要的表单中的新数据,但表单布局的大部分都丢失了。以下是我的控制器逻辑:
public function showmediaAction()
{
$thistype = 0;
$type = ( int )$this->params()->fromRoute('id', 0)
if(isset($type))
$thistype = $type;
$d = $this->getServiceLocator()->get('Mytable'Data'Db');
$response = $d->getThisTable()->geTotalCount();
$mediacount = $response;
$todaycount = 0;
$totalcount = 0;
if($thistype == 1)
{
$todaycount = $this->getTodayCount($d);
$count = count($todaycount);
$i = 0;
$totalcount = 0;
for($i = 0; $i < $count; $i++)
{
$totalcount += $todaycount[$i];
}
}
$this->viewModel = new ViewModel();
$this->viewModel->setTemplate('mydir/admin/show-media.phtml');
$this->viewModel->setVariables(array(
'mediacount' => $mediacount,
'todaycount' => $todaycount,
'todaytotalcount' => (string)$totalcount
));
return $this->viewModel;
}
那么,为什么我的表单第二次没有通过这个逻辑正确呈现呢。第一次加载页面时,我会显示一个警告。当第二次执行上述逻辑时,不会显示警报,这意味着表单没有被重新加载。我是Zend的新手,如果有任何关于如何通过编程强制重新加载Zend表单的帮助,我将不胜感激。
我对这个问题有更多的了解。问题是,在第二次加载网页时,找不到脚本文件。脚本文件在layout.phtml文件中定义为位于/js/myscript.js,而当运行第二次加载时,chrome控制台显示它在admin/js/mysscript.js中查找,这是不正确的目录。那么,为什么在第二次加载网页时,指向javascript目录的指针会发生更改呢?
使用js文件的绝对路径。