- 浏览: 32821 次
- 性别:
- 来自: 广州
最新评论
**********************************
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
在文件 acl.yaml 中修改设置 快速入门72页
*****************************************
****************************************8
添加ckeditor使用
1.下载ckeditor ckfinder,ckeditor复制到根目录下,然后我这里把ckfinder放到ckeditor目录里面
2.在control里面添加ckeditor.php代码如下、class Control_CKEditor extends QUI_Control_Abstr
class Control_CKEditor extends QUI_Control_Abstract
{ function render() { $base_dir = $this->get('base_dir', $this->_context->baseDir() . 'ckeditor/'); $base_dir = h(rtrim($base_dir, '/\\') . '/'); $width = $this->get('width', "100%"); $height = $this->get('height', "250px"); $toolbar = $this->get('toolbar', "Default"); $id = $this->id(); $value = $this->get('value', ''); $config = $this->get('config'); if (!is_array($config)) { $config = array(); } $out = Q::control('memo', $this->id(), array('value'=>$value))->render(); $out .= <<<EOT <script type="text/javascript" src="{$base_dir}ckeditor.js"></script> <script type="text/javascript"> //<![CDATA[ var editor=CKEDITOR.replace( '{$id}', { skin : 'v2', filebrowserBrowseUrl : '{$base_dir}ckfinder/ckfinder.html', filebrowserImageBrowseUrl : '{$base_dir}ckfinder/ckfinder.html?Type=Images', filebrowserFlashBrowseUrl : '{$base_dir}ckfinder/ckfinder.html?Type=Flash', filebrowserUploadUrl : '{$base_dir}ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files', filebrowserImageUploadUrl : '{$base_dir}ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images', filebrowserFlashUploadUrl : '{$base_dir}ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash', }); //]]> </script> EOT; return $out; } }
3.修改editor下config.js 可以添加以下代码,具体还有很多设置可以另外再找
CKEDITOR.config.width = 800; CKEDITOR.config.height = 360; config.toolbar= [ ['Source','-','Save','NewPage','Preview','-','Templates'], ['Cut','Copy','Paste','PasteText'], ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], ['Form','Checkbox','Radio','TextField','Textarea','Select','Button', 'ImageButton','HiddenField'], '/', ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['Link','Unlink','Anchor'], ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar', 'PageBreak'], '/', ['Styles','Format','Font','FontSize'], ['TextColor','BGColor'], ['Maximize','ShowBlocks','-','About'] ]; config.protectedSource.push( /<\s*iframe[\s\S]*?>/gi ) ; // <iframe> tags. config.protectedSource.push( /<\s*frameset[\s\S]*?>/gi ) ; // <frameset> tags. config.protectedSource.push( /<\s*frame[\s\S]*?>/gi ) ; // <frame> tags. config.protectedSource.push( /<\s*script[\s\S]*?\/script\s*>/gi ) ; // <SCRIPT> tags. config.protectedSource.push( /<%[\s\S]*?%>/g ) ; // ASP style server side code config.protectedSource.push( /<\?[\s\S]*?\?>/g ) ; // PHP style server side code config.protectedSource.push( /(<asp:[^\>] >[\s|\S]*?<\/asp:[^\>] >)|(<asp:[^\>] \/>)/gi ) ;
4.ckfinder 里修改config。php 其中主要修改上传文件的路径 $baseUrl = '/uniteone/public/upload';
这样目录就是项目uniteone下/public/upload
还可以设置在打开插入图片、链接、图片域、flash时浏览服务器文件的权限 代码如下:
$config['AccessControl'][] = Array( 'role' => '*', 'resourceType' => '*', 'folder' => '/', 'folderView' => true, 'folderCreate' => true, 'folderRename' => false, 'folderDelete' => false, 'fileView' => true, 'fileUpload' => true, 'fileRename' => false, 'fileDelete' => false);
4.1修改链接上传附件(如果不行还要修改ckfinder.js里面的代码修改成和image一样格式)
$config['AccessControl'][] = Array( 'role' => '*', 'resourceType' => 'Files', 'folder' => '/Logos', 'fileUpload' => true, 'fileRename' => false, 'fileDelete' => false);
config.js:
editorObj.Config['LinkBrowserURL'] = url + qs + 'type=' + ( filesType || 'Files' ) ; editorObj.Config['ImageBrowserURL'] = url + qs + 'type=' + ( imageType || 'Images' ) ; editorObj.Config['FlashBrowserURL'] = url + qs + 'type=' + ( flashType || 'Flash' ) ; var dir = url.substring(0, 1 + url.lastIndexOf("/")); editorObj.Config['LinkUploadURL'] = dir + "core/connector/" + ckfinder.ConnectorLanguage + "/connector." + ckfinder.ConnectorLanguage + "?command=QuickUpload&type=" + ( filesType || 'Files' ) ; editorObj.Config['ImageUploadURL'] = dir + "core/connector/" + ckfinder.ConnectorLanguage + "/connector." + ckfinder.ConnectorLanguage + "?command=QuickUpload&type=" + ( imageType || 'Images' ) ; editorObj.Config['FlashUploadURL'] = dir + "core/connector/" + ckfinder.ConnectorLanguage + "/connector." + ckfinder.ConnectorLanguage + "?command=QuickUpload&type=" + ( flashType || 'Flash' ) ;
5.在form配置文件中使用ckeditor的地方 _ui:ckeditor
6.从配置文件中调用表单 代码基本是固定的,上面其他插件使用有贴出来。
- qeephp笔记.rar (408.9 KB)
- 下载次数: 12
- ckeditor文件.rar (2.4 MB)
- 下载次数: 6
相关推荐
本文将深入探讨如何在前端环境中使用OFD预览插件,帮助用户在浏览器中查看OFD文件。 首先,理解前端预览OFD文件的需求。由于OFD文件通常包含复杂的文本、图像和排版信息,因此需要一个专门的插件或库来解析和渲染...
GitHub.Copilot.Vsix.1.10.0.3.vsix---只能生成ai插件 Installer_Projects离线安装包_2022.vsix-----打包安装程序插件 NET+Upgrade+Assistant.vsix--net升级插件 ResXManager.VSIX.vsix--多语言管理插件
5. 使用C++语言开发EXCEL插件需要具备的一些基本知识,包括C++基础和VC++编译环境。 6. EXCEL的API函数,包括xlcall.h文件中的定义和xlcall32.lib文件中的实现。 本书为开发人员提供了一份详细的指南,指导他们如何...
4. 使用 FireBreath 框架生成插件代码,整个过程非常简单,只需要输入一些基本信息, FireBreath 框架就会自动生成插件代码。 FireBreath 框架的优点是: * 跨浏览器支持:FireBreath 框架支持多种浏览器,包括 ...
本篇将详细讲解如何利用Inkscape生成G代码的插件以及实心填充插件,并提供使用教程。 首先,Inkscape生成G代码插件允许用户将设计的SVG路径转换为适合CNC切割或3D打印的G代码。这个插件通常适用于那些希望将...
这些插件通常提供一些原生按键精灵脚本不具备的功能,比如更复杂的窗口识别、鼠标点击、键盘输入等,以满足不同用户的定制化需求。 "按键插件"是361插件中的一个重要分支,专门针对按键精灵的脚本编写者。它允许...
标题“cad插件使用快捷”暗示我们将讨论如何利用CAD插件来提升CAD操作的速度。描述“提高cad操作速度”进一步强调了插件在优化工作流程中的关键作用。现在,让我们深入探讨CAD插件的相关知识点。 首先,了解CAD插件...
2. **定义接口**:为了确保插件和主程序之间的通信,需要定义一些接口,这些接口定义了插件应提供的服务或功能。 3. **导入元数据**:在插件项目中,使用MEF的 `[Import]` 和 `[Export]` 属性来标记需要导出的类和...
魔兽世界lua插件开发教程是一本关于使用lua语言开发魔兽世界插件的教程。这本书籍提供了从基础知识到高级技术的详细指导,旨在帮助读者快速掌握lua语言和魔兽世界插件开发的技能。 本书籍的主要内容包括: 1. lua...
本主题将深入探讨“一些常用的插件”,主要关注jQuery库插件、地图自适应窗口插件以及判断客户端类型的插件。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画和Ajax交互等任务。...
一些插件会在工具栏上添加图标,方便一键操作。 6. **说明.txt**: 这个文件可能是插件的使用指南或安装说明,包含了如何安装、配置和使用插件的详细步骤,以及可能遇到的问题和解决方案。 7. **土木工程网- 土木...
例如,新版本可能修复了旧版插件的一些问题,添加了更多定制选项,或者引入了全新的功能模块。 在"插件功能.exe"这个文件中,我们可以推断这是一款用于安装或运行插件的应用程序。用户可以通过运行此文件来安装或...
3. **检测和使用插件**:Qt提供了一些接口来检测可用的插件,例如`QImageIOPlugin::availableImageFormats()`可以列出所有已注册的图像格式插件。根据业务需求,你可以选择合适的插件进行使用。 4. **实例化插件**...
这在长期使用Maya并频繁尝试新插件的用户中尤为重要,因为他们可能忘记卸载一些临时测试的插件,这些插件可能会在后台占用资源,影响整体性能。 插件清理工具的操作流程一般包括以下步骤: 1. **扫描插件**:工具...
这个压缩包文件的标题表明它包含了一些针对MyEclipse 9的插件,这将极大提升开发效率和功能多样性。 一、MyEclipse 9基础介绍 MyEclipse 9是专为Java EE开发者设计的,支持多种编程语言,包括Java、JSP、JavaScript...
5. **JSR223和Groovy语言支持**:通过添加Groovy引擎插件,可以在脚本中使用Groovy语言,提高脚本的执行效率和灵活性。 6. **WebDriver Sampler**:允许使用WebDriver API来模拟真实用户的行为,进行功能和性能的...
`dm.dll`包含了大漠插件的主要功能,而`dmc.dll`可能是一些辅助或者扩展功能。在免注册调用时,我们需要通过编程将这些DLL文件加载到进程空间中,然后通过API调用来使用其功能。 `C#免注册大漠.doc`文档是详细的...
4. `LICENSE.txt`:包含了软件的许可协议,说明用户可以如何合法使用该插件。 5. `css` 和 `images` 目录:分别存储了插件的样式表文件和图像资源,用于构建用户界面。 6. `src` 目录:通常包含插件的主要源代码,如...