tiehao 发表于 2013-2-6 23:59:44

一些插件的使用

 
**********************************
fckeditor使用:  
***********************************
复制fckeditor.php 到 app/control目录下
                         复制js文件夹及其内容fckeditor到js目录下
      配置要使用文件
~form:
  _subject: "添加任务"
  _tips: true 
subject:
  _ui: textbox
  _label: "任务主题"
  _req: true
description:
  _ui: fckeditor
  toolbar: Custom
  width: 80%
  height: 150px
  _label: "任务描述"
 
调用配置文件生成表单
class Form_Task extends QForm
{
    function __construct($action)
    {
        // 调用父类的构造函数
        parent::__construct('form_task', $action);
 
        // 从配置文件载入表单
        $config = Helper_YAML::loadCached(dirname(__FILE__) . '/task_form.yaml.php');
$this->loadFromConfig($config);
$this->addValidations(Task::meta());
    }
}
 
**************************************************************
、、、、、、、、、分页显示pagination的使用:
************************************************************
1 复制 pagination.php到control目录下
2 在查询时取得分页信息 controlter下写
// 分页查询
$page = intval($this->_context->page);
if ($page < 1) $page = 1;
 
// 构造查询对象
$select = Post::find()->limitPage($page, 10);
 
// 将分页信息和查询到的数据传递到视图
$this->_view['pagination'] = $select->getPagination();
$this->_view['posts']      = $select->getAll();
 
3 在视图中显示
<?php
$this->_control('pagination', 'my-pagination', array(
    'pagination' => $pagination,
));
?>
***********************************
表单视图的使用,简单表单视图formview_simple_element.php的使用
****************************************************************************
1 复制formview_simple_element.php到_code/app/view/_elements/下
2 在表单输出的地方
<?php $this->_element('formview_simple', array('form' => $form)); ?>
3 表单配置文件的配置
 
# ~form 开头的内容用于指定表单属性
~form:
  _subject: "注册新用户"
  _tips: true
# 指定字段及过滤器等信息
username:
  _ui: textbox
  _filters: ['trim', 'strtolower']
  _label: "用户名"
  _req: true
password:
  _ui: password
  _label: "密码"
  _req: true
4 表单文件调用配置文件
 
class Form_UserLogin extends QForm
{
    function __construct($action)
    {
        parent::__construct('form_userlogin', $action);
 
        $config = Helper_YAML::loadCached(dirname(__FILE__) . '/userlogin_form.yaml.php');
$this->loadFromConfig($config);
        $this->addValidations(User::meta());
    }
}
 
 
******************************************8
自带插件acluser使用
·密码属性的自动加密
·验证用户名和密码的正确性
·验证用户名的唯一性
·查询用户的基本属性和角色信息
****************************
使用acluser插件,1修改_define()方法
(在模型中修改)
// 指定该 ActiveRecord 要使用的行为插件
            'behaviors' => 'acluser',
 
            // 指定行为插件的配置
            'behaviors_settings' => array
            (
                # '插件名' => array('选项' => 设置),
                'acluser' => array(
                    'acl_data_props' => 'username',
                ),
            ),
 
可能有关联
/**
                 * 添加对象间的关联
                 */
                # 'other' => array('has_one' => 'Class'),
 
                'tasks' => array(QDB::HAS_MANY => 'Task', 'target_key' => 'owner_id'),
 
**************************************************************************88
访问控制:
 
# 访问规则示例
#
 
users:
  allow: ACL_HAS_ROLE
  actions:
    register:
      allow: ACL_NO_ROLE
    login:
      allow: ACL_NO_ROLE
 
tasks:
  allow: ACL_HAS_ROLE
 
default:
  allow: ACL_EVERYONE
 
ALL_CONTROLLERS:
  deny: ACL_EVERYONE
页: [1]
查看完整版本: 一些插件的使用