TinyMCE Editor 小巧实用,是网页文章编辑器之首先,最近在用CakePHP做一个小项目正好用到,记录一下。
首先下载TinyMCE ,并把压缩包内tinymce/jscripts/tiny_mce 目录整个拷贝到webroot/js 目录下,然后在需要用到TinyMCE的Controller里加入,代码如下:
var $helpers = Array ( 'Form' , 'Tinymce' ) ;
然后建立views/helpers/tinymce.php 文件,内容如下:
< ?php class TinyMceHelper extends AppHelper { // Take advantage of other helpers var $helpers = array ( 'Javascript' , 'Form' ) ; // Check if the tiny_mce.js file has been added or not var $_script = false ; /** * Adds the tiny_mce.js file and constructs the options * * @param string $fieldName Name of a field, like this "Modelname.fieldname", "Modelname/fieldname" is deprecated * @param array $tinyoptions Array of TinyMCE attributes for this textarea * @return string JavaScript code to initialise the TinyMCE area */ function _build( $fieldName , $tinyoptions = array ( ) ) { if ( ! $this -> _script) { // We don't want to add this every time, it's only needed once $this -> _script = true ; $this -> Javascript -> link ( '/js/tiny_mce/tiny_mce.js' , false ) ; } // Ties the options to the field $tinyoptions [ 'mode' ] = 'exact' ; $tinyoptions [ 'elements' ] = $this -> __name( $fieldName ) ; return $this -> Javascript -> codeBlock ( 'tinyMCE.init(' . $this -> Javascript -> object ( $tinyoptions ) . ');' ) ; } /** * Creates a TinyMCE textarea. * * @param string $fieldName Name of a field, like this "Modelname.fieldname", "Modelname/fieldname" is deprecated * @param array $options Array of HTML attributes. * @param array $tinyoptions Array of TinyMCE attributes for this textarea * @return string An HTML textarea element with TinyMCE */ function textarea( $fieldName , $options = array ( ) , $tinyoptions = array ( ) ) { return $this -> Form -> textarea ( $fieldName , $options ) . $this -> _build( $fieldName , $tinyoptions ) ; } /** * Creates a TinyMCE textarea. * * @param string $fieldName Name of a field, like this "Modelname.fieldname", "Modelname/fieldname" is deprecated * @param array $options Array of HTML attributes. * @param array $tinyoptions Array of TinyMCE attributes for this textarea * @return string An HTML textarea element with TinyMCE */ function input( $fieldName , $options = array ( ) , $tinyoptions = array ( ) ) { $options [ 'type' ] = 'textarea' ; return $this -> Form -> input ( $fieldName , $options ) . $this -> _build( $fieldName , $tinyoptions ) ; } } ?>
然后在要使用TinyMCE的View页面直接用$tinymce->input(‘fieldname’);来调用就可以了。例如:
< ?php // init TinyMCE Editor echo $tinymce -> input ( 'content' , array ( 'label' => false , 'style' => 'height:350px; width:98%;' , 'error' => '请输入内容' ) , array ( 'mode' => 'textareas' , 'theme' => 'advanced' , 'theme_advanced_toolbar_location' => 'top' , 'theme_advanced_toolbar_align' => 'left' , 'theme_advanced_statusbar_location' => 'bottom' , //'theme_advanced_resizing' => true, ) ) ;
参考:http://bakery.cakephp.org/articles/view/tinymce-helper-1
近期本人开通了微信订阅号“CakePHP学习”,欢迎大家的关注。
相关推荐
在Blog示例中,TinyMCE被集成到后台管理系统中,使得管理员可以方便地在发布或编辑文章时添加图片、格式化文本等。集成步骤可能包括引入TinyMCE的JavaScript库,配置编辑器选项,并将其与表单元素结合。 ** 数据库...
在本文中,我们将深入探讨如何在CakePHP框架中集成Tinymce所见即所得(WYSIWYG)编辑器,以便为用户提供一个直观且功能强大的文本编辑体验。 首先,让我们了解下这两个关键组件: **CakePHP**:这是一个开源的PHP...
具体实现方法是:在控制器中使用iconv('utf-8', 'gb2312', $data['parameter'])来转换数据。 3. 路径问题的处理:在Ajax请求中,如果网站页面存在嵌套路径,那么在请求时需要注意URL路径的正确性。在CakePHP中,...
在CakePHP中,模型通常与数据库表关联,用于执行CRUD(创建、读取、更新、删除)操作。ORM(对象关系映射)是模型层的核心,使得开发者可以用面向对象的方式来操作数据库。 4. **视图(View)**: 视图负责展示...
在阅读这份中文手册时,你将了解到如何设置和配置CakePHP项目,创建数据库模型,建立控制器和视图,使用路由来定义URL结构,以及如何利用组件和行为来扩展功能。此外,手册还会涵盖测试、部署和性能优化等相关主题。...
它代表数据库中的表或数据源,处理业务逻辑,并与视图和控制器交互。 2. **视图(View)**:视图层主要负责展示数据,将模型中的数据转化为用户友好的格式。它通常包含HTML、CSS和JavaScript代码,但不包含业务逻辑...
在 CakePHP 中,MVC模式是核心设计思想。Model代表数据模型,处理与数据库的交互;View负责展示用户界面;Controller作为模型和视图之间的桥梁,处理用户请求并调用相应的模型方法,然后将数据传递给视图进行渲染。 ...
例如,`EmailComponent` 可以简化电子邮件的发送过程,使得开发者无需在每个需要发送邮件的控制器中重复编写相同的代码。 - **回调函数(Callback)**:提供了一种在控制器生命周期的特定阶段执行自定义逻辑的方式...
我们将通过一个具体的示例来展示整个过程,包括如何定义验证规则、如何在控制器中使用验证器,以及如何处理验证错误。 #### 二、创建验证器 在CakePHP中创建验证器通常是在模型(Model)层进行的,但本文档中的示例...
8. **组件(Component)**:组件是一组可重用的控制器逻辑,手册会教你如何创建和使用它们来扩展控制器功能。 9. **行为(Behavior)**:类似于模型的组件,行为可以添加到模型中,提供跨模型的共享功能,如日志...
在 CakePHP 中,MVC模式被实现得非常直观和易于使用。例如,控制器类通常放在`app/Controller`目录下,模型类位于`app/Model`,而视图文件则位于`app/View`。 **MVC 模式** 虽然手册建议在阅读前了解MVC的基本概念...
- **Component**:介绍了组件的概念,以及如何在控制器中使用它们。 - **Helper**:讲解了辅助程序的用途,以及如何在视图中使用它们。 - **Utilities**:列举了一系列实用工具,如字符串操作、时间日期处理等。 ##...
CakePHP有多个特点,这些特点让CakePHP成为了快速开发框架中的佼佼者之一。 1.活跃友好的社区 2.灵活的许可协议(Licensing) 3.兼容PHP4和PHP5 4.数据库交互和简单查询的集成 5.应用程序Scaffolding 6....
打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...
CakePHP是一个开源的PHP on rails的full-stack framework。最开始从Ruby On Rails框架里得到灵感。程序员可使用它来快速创建的Web应用程序。我们的首要目的是使你以一种预置的快速且不失灵活性的方式开展工作。
在 CakePHP 中,你可以创建数据模型来操作数据库中的表,通过ActiveRecord模式实现数据操作。 4. **视图(View)**:视图用于展示数据,通常与HTML模板结合。手册会教你如何创建和组织视图文件,以及如何使用布局...
- **在控制器中应用ACL**:在控制器中,使用`$this->Acl->deny()`或`$this->Acl->allow()`设置权限,或者使用`$this->Acl->check()`检查权限。 - **在视图中显示权限**:在视图中,可以基于用户权限动态地显示或...