-
Notifications
You must be signed in to change notification settings - Fork 114
Dev.Front FAQ Draft.zh_cn
lavenderli edited this page Aug 29, 2013
·
10 revisions
- 修改一个页面的前端代码。
修改一个页面,你必须先知道这个页面是属于哪个模块的,一般一个页面都是对应一个模块 template/front/ 下面的模板的,但是有些特殊页面可能不能存在模板,只有区块,比如系统首页。但是常规的,一般都是有模板的。查看一个页面的body id="pi-{module name}"
元素,就能知道这个页面属于哪个模块,然后在模块对应的 **template/front/**下面找到前台模块,一般情况下模板的名字跟url都比较接近,比如 demo 模块的前台首页的模板就是 demo-index 它的url就是 site/demo/index 或者 site/demo,还有的模板的名字直接就是controller-action.phtml
规则。 - 如何重新发布一个页面?
想要重新发布一个修改后的页面首先要发布静态文件,然后清空页面缓存。
- Asset publish
程序只能访问到 www 目录下的文件,但是静态资源文件是在 usr 目录下的,想要程序应用修改后的代码,则需要把 usr 目录下面的静态文件发布到 www/asset 下面去。想要重新发布静态文件需要进入后台 Operation->System->Toolkit->Asset publish ,点击需要重新发布的内容之后的publish按钮,这样就完成了重新发布操作。 - Cache flush
为了加快页面加载速度,系统会缓存页面,重新发布之后如果不清空缓存,用户看到的还会是被缓存的那个页面。所以在重新发布之后需要清空页面缓存使修改生效。进入后台 Operation->System->Toolkit->Cache flush ,清空相应页面的缓存,再刷新修改的页面就能看到生效的修改了。 页面缓存设置在, Setting->{Module name}->Page->Edit ,可以对页面进行缓存设置,设置后的,页面就会被缓存,比如,你把系统首页设置半小时缓存,然后去dress up这个页面,刷新首页,不会看到生效后的效果。
- bootstrap表单生成。
- front-end code
<?php
$form->setAttribute('class', 'form-horizontal');
echo $this->form()->openTag($form);
$this->FormElementErrors()->setMessageOpenFormat('<span class="help-inline">')->setMessageCloseString('</span>');
?>
<legend><?php _e('Form title'); ?></legend>
<?php
$username = $form->get('username');
echo sprintf('<div class="control-group%s"><label class="control-label">%s</label><div class="controls">%s%s</div></div>',
$username->getMessages() ? ' error' : '',
$username->getOption('label'),
$this->formElement($username),
$this->formElementErrors($username));
?>
<?php
$content = $form->get('content');
$content->setAttributes(array(
'class' => 'span7',
'rows' => '6'
));
echo sprintf('<div class="control-group%s"><label class="control-label">%s</label><div class="controls">%s%s</div></div>',
$content->getMessages() ? ' error' : '',
$content->getOption('label'),
$this->formElement($content),
$this->formElementErrors($content));
?>
<?php
$submit = $form->get('submit');
$submit->setAttribute('class', 'btn btn-primary');
echo sprintf('<div class="controls">%s</div>', $this->formSubmit($submit));
echo $this->form()->closeTag($form);
?>
- php code (src/Form/)
<?php
public function init() {
$this->add(array(
'name' => 'username',
'attributes' => array(
'type' => 'text',
),
'options' => array(
'label' => __('Sent to'),
),
));
...
}
- 多主题多模块系统共存。
- 什么是dress up
- 后台: Setting->Page->Pages->Dress up
- 如果没有找到相应的页面的话,可以通过新增页面,输入ControllerAction指定需要拖拽控制的页面。