如何在Zend Framework 2.x中禁用布局和查看渲染器?我阅读文档,无法得到任何答案在谷歌我找到答案Zend 1.x和它
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->layout->disableLayout();
Run Code Online (Sandbox Code Playgroud)
但它在Zend Framework 2.x中不再起作用了.我需要为Ajax请求禁用视图渲染器和布局.
任何帮助都会很棒.
我坚持用Zend框架2获取最后一个插入ID,我放弃了这个...
有尝试过的组合:
var_dump($this->tableGateway->insert($insert));
var_dump($this->tableGateway->lastInsertValue);
var_dump($this->tableGateway->getLastInsertValue());
var_dump($this->tableGateway->getAdapter()->getDriver()->getConnection()->getLastGeneratedValue());
Run Code Online (Sandbox Code Playgroud)
值是插入表,但每行(除了第一个,给出int"1")返回null.请不要告诉我,这样一个大框架没有给出获得最后一个插入id值的可能性!?
使用Zend Framework 2将Doctrine 2实体持久集合转换为数组的最佳方法(简单)是什么?我想转换为数组,然后用JsonView输出它.我可以编写使用get_object_var的函数,但是当实体具有下一个实体集合时它是一个问题.
问候.
我有Zend Framework 2中内置的应用程序.我想设置cron作业来更新我的产品.我知道这样的脚本应该从公共文件夹外部运行,但不幸的是我在cron中的脚本需要使用框架文件.
我怎样才能做到这一点?
我想出的唯一方法是从公共文件夹外部运行脚本,然后添加一些哈希或密码并重定向到
www.domain.com/cron/test
Run Code Online (Sandbox Code Playgroud)
所以我将拥有所有框架功能.
它会安全吗?也许还有另一种方式?
几天前Twitter Bootstrap 3 RC1发布,我刚开始在个人项目中使用它.
我有一个水平表单,其中包含一些内联单选复选框组,但这些元素的水平对齐方式不相等:

问题1:为什么chrome不会在标签的同一行显示help-block元素?
问题2:如何在带有标签的同一行上对齐内联无线电组?
问题3:以下标记是否有效?这些问题是否与标记有关?
标记:
<div class="container">
<form class="form-horizontal">
<div class="form-group">
<label class="col-lg-2 control-label">Weight</label>
<div class="col-lg-1">
<input type="text" name="weight" class="form-control" value="20">
</div>
<div class="help-block"> grams</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">Full part name</label>
<div class="col-lg-6">
<input type="text" name="name" class="form-control" placeholder="Don't use numeric characters..">
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">Inline radios</label>
<div class="col-lg-10">
<label class="radio-inline">
<input type="radio" name="radio"> Hello
</label>
<label class="radio-inline">
<input type="radio" name="radio"> Other
</label>
<label class="radio-inline">
<input type="radio" name="radio"> Another
</label> …Run Code Online (Sandbox Code Playgroud) 我在模块中的目录结构中有这样的东西:
Api
??? Module.php
??? config
? ??? module.config.php
??? src
? ??? ( ..etc ..)
??? view
??? api
? ??? api
? ??? index.phtml
??? partial
??? test.phtml
Run Code Online (Sandbox Code Playgroud)
然后,我这样做:
<?= $this->partial('partial/test.pthml', array()); ?>
Run Code Online (Sandbox Code Playgroud)
但是,我得到:
2012年6月5日14:56:58] PHP致命错误:未捕获异常'Zend\View\Exception\RuntimeException',消息'Zend\View\Renderer\PhpRenderer :: render:无法渲染模板"partial/test.pthml "; 解析器无法解析为/Users/jeff/web/n/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:463中的文件
凡应我的谐音去?
ZF2文档说明了defult服务文档 ;
InputFilterManager,映射到Zend\Mvc\Service\InputFilterManagerFactory.这将创建并返回Zend\InputFilter\InputFilterPluginManager的实例,该实例可用于管理和保留输入过滤器实例.
我有一个自定义zf2 inputfilter类,我在init()方法中添加过滤器和验证器,如下所示;
namespace Application\Filter;
use Zend\InputFilter\InputFilter;
class GlassFilter extends InputFilter
{
public function init()
{
$this->add(array(
'name' => 'glassname',
'required' => true,
'filters' => array(
array('name' => 'StringToUpper'),
),
'validators' => array(
array( 'name' => 'StringLength', 'options' => array('min' => 3),
),
));
}
Run Code Online (Sandbox Code Playgroud)
我还在我的module.config.php中添加了以下键
'filters' => array(
'invokables' => array(
'glassfilter' => '\Application\Filter\GlassFilter',
),
),
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何使用InputFilterManager构建我的GlassFilter?这是正确的方法吗?我找到了这个线程,但我想了解自定义InputFilters和InputFilterManager之间的关系.
我想通过将它用于一个小项目来掌握Zend Framework 2.我经历过各种博客文章,文档,当然还有Akrabat(Rob Allen)的精彩教程.
但是,在我的所有阅读中,我没有对Zend Framework 2期望的模块的正确或首选目录结构进行任何解释.
在Akrabat教程中, Rob Allen的示例模块使用单个模型和控制器.他选择的目录结构是:
/module
/Album
/config
/src
/Album
/Controller
/Form
/Model
/view
/album
/album
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但是如果一个模块有多个控制器和模型,就像你在一个有多个页面/部分的网站中所期望的那样呢?我会将所有控制器放在/ src/Album/Controller目录中,还是为每个附加模型和相关控制器和视图创建另一组/ src/xxx /目录?
在/ view目录中,我是否将其分解为各种控制器使用的每组视图的子目录?
我认为我的困惑来自于Rob的例子中,他的主要控制器/模型与模块的名称相同.所以他的Album模块有一个目录,有更多的Album目录用于模型,控制器和视图.如果我要将他的模块从Album重命名为,例如,MyModule将使目录结构变为:
/module
/MyModule
/config
/src
/Album
/Controller
/Form
/Model
/view
/MyModule
/album
Run Code Online (Sandbox Code Playgroud)
然后它会遵循这样一个额外的模型,艺术家和相关的控制器:
/module
/MyModule
/config
/src
/Album
/Controller
/Form
/Model
/Artist
/Controller
/Form
/Model
/view
/MyModule
/album
/artist
Run Code Online (Sandbox Code Playgroud)
如果不是上述,那么它将是什么结构?
这当然是假设ZF2期望严格的结构.如果情况并非如此,那么显然我可以按照我想要的方式组织它.
在Zend Framework 2.1.4中,我使用标准的表单视图助手来渲染我的表单元素.
当我尝试:
<?php echo $this->formRow($form->get('Title'));?>
Run Code Online (Sandbox Code Playgroud)
标签文本和输入元素放在标签内:
<label>
<span>Title</span><input type="text" name="Title" placeholder="Inserisci titolo"
required="required" value="">
</label>
Run Code Online (Sandbox Code Playgroud)
同样的:
<?php echo $this->formCollection($form, TRUE);
Run Code Online (Sandbox Code Playgroud)
但是,如果我单独渲染标签并输入:
echo $this->formLabel($form->get('Title'));
echo $this->formInput($form->get('Title'));
Run Code Online (Sandbox Code Playgroud)
它生成我想要的html:
<label for="Title">Title</label>
<input type="text" name="Title" placeholder="Insert Title" required="required" value="">
Run Code Online (Sandbox Code Playgroud)
如何使用formRow视图助手实现相同的功能?
我想在Zend Framework 2表单中为select选项添加自定义HTML属性.
这是我的Form类中的(部分)代码:
$this->add(array(
'name' => 'lieuRemplissage',
'type' => 'Select',
'attributes' => array(
'class' => 'form-control',
),
'options' => array(
'label' => _('Lieu pré-enregistré'),
),
));
Run Code Online (Sandbox Code Playgroud)
我在我的控制器中填充我的选项值,如下所示:
$form = new \Vente\Form\Vente;
foreach($this->getAdminLieuDeVenteTable()->fetchAll() as $lieu) {
$optionsLieu[$lieu->getId()] = $lieu->getNom();
}
$form->get('lieuRemplissage')->setValueOptions($optionsLieu);
Run Code Online (Sandbox Code Playgroud)
但是现在,对于每个选项,我想为所有选择选项添加一个html属性,但每个选项的值都不同.
有没有办法在ZF2中实现这一目标?
谢谢.
php ×6
forms ×2
frameworks ×2
cron ×1
doctrine-orm ×1
entity ×1
insert ×1
json ×1
postgresql ×1
zend-form ×1
zend-view ×1