问题标签 [cakephp-2.3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cakephp - CakePHP 的翻译行为如何决定使用哪个语言环境?
我认为 CakePHP 的翻译行为使用以下内容来确定要在 i18n 表中查询的内容:
但即便如此,它在一个页面上查询,locale='en'
而在另一个页面上,它使用locale='eng'
.
我已经验证它在两个页面上都设置为“en” - 所以......为什么在一页上使用“eng”进行查询?
虽然我可能会在某个地方设置不同的设置,但是 - 我不相信你可以重新设置一个常数。
cakephp - Cakephp 2.2.3 JS 提交按钮。如何为元素添加属性
我看不到如何向 CakePHP 按钮添加属性。例如,data-loading-text="正在加载..."
如何将这样的数据属性添加到我的按钮?
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#creating-buttons-and-submit-elements http://book.cakephp.org/2.0/en/core-libraries /helpers/js.html
cakephp - CakePHP 的翻译行为不适用于 Containable
我已经实现了 CakePHP 的 Translate Behavior,一切都相当顺利,但我现在注意到,当我的模型应该被翻译时,我从i18n
表中翻译的数据不存在。contain()
翻译行为是否不适用于包含的模型?如果是这样,那不是几乎完全消除了这种行为的任何用处吗?(或者也许只是我 - 但我几乎所有事情都使用 Containable)。
如果我打算大量使用 Containable,是否有不同的“CakePHP 方式”可以相当轻松地进行翻译?
mysql - 从 cakephp 1.3 迁移到 2.0 后,我收到一条错误消息说缺少控制器
我从 cakephp 1.3 迁移到 cakephp 2.2.3。但我收到错误“缺少控制器”。它要求我签入“/app/controller..”,但我没有名为“controller”的文件夹。转换后我有一个名为“控制器”的文件夹
所以请帮我解决这个问题..
提前致谢
validation - 模型验证规则的默认值
我对模型字段的默认值有疑问,这个问题让我发疯了一段时间。
举个例子,我有一个带有必须验证的状态字段的模型:
插入数据库中的数据不是从表单提交的。
如果缺少状态字段,我希望它默认为 1,否则必须进行验证。
有没有办法在不使用自定义验证规则的情况下从模型中做到这一点?我知道我可以在 MySQL 表中设置默认值,但我仍然想从模型中验证它,以防提交不同的值。
编辑
我查看了 Validation 类代码,inList 验证只是 in_array 检查的愚蠢包装:
Cake.Utility.Validation.php
你知道吗,还有一个CakePHP Api docs
($strict)中没有提到的第三个参数,默认为true。
从 in_array 文档:
如果第三个参数 strict 设置为 TRUE,则 in_array() 函数还将检查大海捞针的类型。
它仍然不能解决我的问题,但现在我知道为什么 array('inList', array('0','1')) 没有验证空字段,即使 allowEmpty 设置为 true。
谢谢你。
cakephp - PaginatorHelper is not checking the page number
I have a problem with the Cakephp2.3 paginator helper. In the 1.3 version, the paginate method was checking if the passed page param has a correct value. Now, it's not working anymore.
For example, if I have a list with 30 results, 10 items per page, then this was redirecting to the last (third) page:
Now, when I modify the url directly in the browser and pass an invalid page number, it just says there are no results.
This is how I'm using the paginate method:
Is there something I'm missing?
Thank you in advance.
UPDATE
The paginator helper does know how to count the number of pages corectly, but it doesn't seem to care if a correct page number is passed. Here is the output from the view:
shows:
cakephp - 在旧版本的 CakePHP 中添加 CakePHP 核心功能
我正在使用 CakePHP 2.2,我可能需要使用SMTP
只有TTL
CakePHP 2.3.0 才有的版本。
此处记录了此新功能的新增内容: https ://github.com/cakephp/cakephp/pull/734
我想知道我应该在我的 CakePHP 项目中的哪里添加这段代码,因为我猜核心文件夹应该保持不变。
我可以使用app\lib
文件夹吗?在这种情况下,我应该如何添加内容?我需要遵循任何结构吗?Cake 如何检测到它?
谢谢。
cakephp - 避免在 CakePHP 中为每个 AJAX 函数创建视图
我试图避免为我在控制器上使用的每个 AJAX 函数创建一个视图。(因为我不以任何方式操作结果数据,并且在大多数情况下只是一个布尔值)
我在我的控制器上使用 RequestHandler 组件:
我添加了这个routes.php
我正在尝试使此功能起作用,但我得到了一个null
值:
要访问json
该功能的版本,我使用此 URL 完成.json
以避免加载任何视图:
我一直在遵循 CakePHP 文档中的步骤:http: //book.cakephp.org/2.0/en/views/json-and-xml-views.html#json-and-xml-views
我究竟做错了什么?为什么我没有得到预期的结果,而是得到一个null
?
另外,如果我尝试序列化一些数组,比如这个:
我收到此通知:
注意(8):未定义索引:1 [ CORE\Cake\View\JsonView.php , line 89 ]代码上下文
$data = array();
foreach ($serialize as $key) {
$data[$key] = $this->viewVars[$key];
$view = null $layout = null $serialize = array( 'demo' => '1' ) $data = array() $key = '1'JsonView::render() - CORE\Cake\View\JsonView.php,第 89 行 Controller::render() - CORE\Cake\Controller\Controller.php,第 957 行 Dispatcher:: _invoke() - CORE\Cake\Routing\Dispatcher.php,第 193 行 Dispatcher::dispatch() - CORE\Cake\Routing\Dispatcher.php,第 161 行需要 - APP\webroot\index.php,第 92 行 [main] - ROOT\index.php,第 42 行{“1”:null}
cakephp - 将 CakePHP Console / Shell 用于编程任务的优点是什么
我目前正在执行一个通过 URL 直接调用控制器操作的编程任务。(使用windows 2003 server 编程任务管理器)
我见过一些人使用 CakePHP 控制台或 shell 来进行这种操作。
如果有的话,使用它有什么好处?
我的行动目前正在调用多个控制器并使用供应商库。
谢谢。
cakephp - CakePHP Shell 从计划任务和 Windows 2003 Server “无法启动”
我正在尝试通过 Windows 2003 服务器的计划任务运行 CakePHP Shell 脚本,但我发现该任务无法启动。
当我从命令提示符手动运行它时,它运行良好:
Scheduled task Run 字段完全相同,Start in设置为:
运行方式字段设置为具有所有权限的计算机管理员(不是 ISS 用户)
计划任务日志在尝试执行时显示此消息:
“Ticket Mail System.job”(蛋糕)13/12/2012 07:15:00 ** 错误 **
无法启动任务。
具体错误是:
0x80070005:访问被拒绝。
看来是权限问题。
我试图为两个用户( IIS 6用户和Internet 访客帐户lib/Cake/Consol/cake.bat
用户)授予文件所有权限,但仍然无法正常工作。
任何想法可能是原因?