问题标签 [atk4]
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.
php - 敏捷工具包的视频播放器
我正在寻找一个为 Agile Toolkit 实现基本视频播放器的附加组件。有人有什么要贡献的吗?这是我希望编写以使用它的代码:
但也应该能够播放 .mp4 视频或使用MediaElementJS
(ps是代码界面好看吗?)
php - 在 atk4 中,我如何使用 ajax 更新视图
我目前定义了一个页面,它按行显示一些数据。在每一行的末尾,有一个视图显示从 mysql 中提取的总数。
视图是用这样的模板定义的
使用循环页面中的 sql 选择填充视图的数据,并且 /lib/view/pointsleft.php 代码已设置方法,这些方法从页面传递参数并更新模板中的字段。
我想在页面上发生更改时更新数据库并更新总视图(以减少计数器)。
首先,我想知道我是否以错误的方式处理了这个问题(每个视图是否应该是自包含的) - 我是否应该将 id 字段传递给视图,将相关模型附加到 lib/view/pointsleft.php 中的视图并使用模型值调用设置字段?
其次,如果我以这种方式进行更改,那么当使用 ajax 更改数据库值时,是否可以更轻松地更新具有特定 ID 的视图,如果是这样,我该怎么做?
第三 - 如果我还想根据客户端 javascript 上的操作触发对数据库的更新,我会将这段代码放在哪里,例如在我的代码的非 atk4 版本中,我有一个名为 using $.post(" update.php"),它将更新 mysql。我会将这样的脚本放在 ATK4 的什么位置?
提前致谢。
罗马人回答后更新
伙计,ATK4 摇滚!- 它比我预期的要多,我正忙于在视图中创建函数来填充每个字段名称,所以现在使用 addModel 重做它,
来自页面的调用看起来像这样
模板/视图看起来像这样
lib/view 代码看起来像这样
在罗马书的代码示例之后更新
在遵循 Romans 提供的代码示例之后,我现在使用 jquery 选择器在我的页面代码底部添加 URL 调用,并做一些 jiggery pokery 从 id 字段获取任务和状态(不确定使用 HTML5 only stufff using data- id 所以只需设置正常的 id 并从中提取)。以前放置代码在我自己的 univ.js 脚本中,但我无法从那里访问 php 变量,所以我将它移到页面中
我有一个在页面中看起来像这样的 if 块。我添加 Model_Task 并根据 GET 参数加载值,因此我还可以获得更多信息,包括它相关的故事,因此如果状态现在完成,我也可以更新点。
然后我可以计算新的点数并用剩下的点更新故事,并通过设置模型值和使用 update() 用 new_status 更新任务。
如果我现在移动其中一个可拖动对象,它可以工作,但会打开一个新窗口,再次显示整个页面并报告
AJAXec 响应中的错误:SyntaxError:语法错误
我认为打开额外的窗口是因为错误,但错误与具有整个页面的所有 html 的响应有关。除非状态是特定的,否则我实际上不希望从 ajax 调用中重新加载。
此外,我需要做的最后一件事是仅在页面上为已更新的特定故事重新加载一个视图。
我尝试过在第一次加载页面时创建一个数组并向其中添加短变量
然后在处理 GET 时在 if 块中调用它
但它失败并出现错误
AJAXec 响应中的错误:SyntaxError: missing ; before 语句致命错误:在第 247 行的 C:\wamp\www\paperless\page\scrumwall.php 中的非对象上调用成员函数 js()
最终更新
最后一个错误是因为我没有使用我想要更新的整个视图的外部 div 中的 id。一旦我改变了它,它就不再为空了。
所以第一次加载页面时,我将所有视图名称存储在一个循环中的关联数组中,因为我将它们放在页面上
然后有这样的 if GET 块
请注意,如果我只想更新页面上的一个视图,我可以通过重新加载调用该对象并执行例如
$pl->js()->reload()->执行
但是如果我想更新页面上的几个视图,我需要将它们放在一个数组中(这里称为 js[]),然后像这样调用执行 - 你也可以在 Roman 的 codepad 示例中看到一个示例。
使用 ATK4 解决了问题 :)
php - MVCTable 中未定义的 getUserId() 函数
我使用 atk 4.1.2。我在尝试插入/更新我的模型时发现了一个问题。好像是因为我在表中添加了两个字段,即 :created_by
和updated_by
.
我发现这些行导致了 MVCTable.php 中的问题:
该方法$this->api->getUserId()
未在任何地方定义。不知道之前的atk版本是否会出现同样的问题。
php - 在 MCGrid 上添加动态按钮
如果 instock 字段为“N”,我想将下面代码中的行 ($g->addColumn('button','check_out') 修改为 $g->addColumn('button','check_in')
这样,按钮会根据工具是否有库存来调用不同的函数。
我确实已经拥有模型中的功能。
php - 在 ATK4 中填充下拉列表
因此,此代码将输出一个由与模型User关联的表中的值填充的下拉列表,但这些值将是模型中的name字段。
有没有办法使用模型的另一个字段来填充它?
php - 4.1.2 版本中缺少图像
我决定尝试以敏捷工具包为平台来开发我们的新服务,并下载并安装了 zip(4.1.2 版本)。
我在我们的开发服务器(apache、php 5.3.2、mysql 5.3)上进行了快速设置,并在一些示例之后开始测试带有订阅和登录的索引页面。
当我提交缺少一些强制性文件的表单时,浏览器控制台抱怨缺少图像(atk4/templates/default/images/ui-icons-red.png),我想是感叹号红色图标...
我错过了什么?
php - 处理数据库中重复错误的正确方法是什么
我正在数据库中实现订阅。电子邮件必须是唯一的,所以我在数据库中有一个唯一的索引。我的页面初始化中有这段代码:
中唯一的信息SQLException
是格式化的 HTML 消息,这是检测错误是否来自重复条目的唯一方法吗?
php - 如何使用 ATK4 实现图像验证
我正在开发一个简单的网络表单来收集我网站访问者的反馈。由于访问者未经过身份验证,我想为用户实施图像验证步骤。我在 atk4 文档中进行了搜索,但找不到类似实现的任何参考。我还检查了 at4-addons 源并找到了两个资源 - View_ReCaptcha 和 Form_Field_Verification。
我不确定我应该关注哪一个。是否有任何示例代码或教程可供我参考,为我的 Web 表单实现图像验证步骤?
php - SchemaGenerator 额外的 VARCHAR 字段,为什么?
从该模型生成表时:
我得到这个 SQL 语句:
在这个 SQL 语句中,我得到了与教程中所说的相反的内容:
使用以“_id”结尾的字段名称调用 refModel 实际上会创建 2 个字段定义。例如,“publisher_id”将被定义为整数并具有“reference”类型,并且还将添加一个字段“publisher”,具有完全相同的属性 - 但它将是一个计算字段并将使用子选择确定价值。
我想知道:
- 生成的 SQL 语句是否正确?
- 这个 VARCHAR 附加生成的字段有什么作用?(我做了CRUD,当添加新记录时,这个字段的值被保存为NULL)。
- 使用时
refModel()
,如果我只使用模型名称('Person'),我得到一个错误(无法包含 Person.php),我必须使用完整的类名('Model_Person')。这个可以吗?我不应该只能使用型号名称吗? mandatory()
不使用NOT NULL,有没有办法做到这一点?