Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ATK4自动完成问题_Php_File_Autocomplete_Atk4_Missing Data - Fatal编程技术网

Php ATK4自动完成问题

Php ATK4自动完成问题,php,file,autocomplete,atk4,missing-data,Php,File,Autocomplete,Atk4,Missing Data,我不熟悉ATK4。 我正在尝试实现一个自动完成字段,但在尝试定义该字段时只有一个错误。 我在MAC电脑上运行ATK4的最新版本(4.2.4)。所有其他函数(字段类型)似乎都工作得很好,但当我定义类型为autocomplete的字段时,我遇到了与示例中相同的错误: 案例是我定义的一个模型: class Model_Agenda extends Model_Table { public $entity_code='Agenda'; function init(){ p

我不熟悉ATK4。 我正在尝试实现一个自动完成字段,但在尝试定义该字段时只有一个错误。 我在MAC电脑上运行ATK4的最新版本(4.2.4)。所有其他函数(字段类型)似乎都工作得很好,但当我定义类型为autocomplete的字段时,我遇到了与示例中相同的错误:

案例是我定义的一个模型:

class Model_Agenda extends Model_Table {
    public $entity_code='Agenda';
    function init(){
        parent::init();

        $this->addField('DATE');
        $this->addField('TIME');
        $this->addField('DRIVERID');
        $this->addField('STUDENTID');
        $this->hasOne('STUDENTID')->display(array('form'=>'autocomplete/Basic'));

    }
}
然后在我的页面上:

    $form = $this->add('Form');
    $form->addField('ReadOnly','Date')->Set($_GET['date']);
    $form->addField('ReadOnly','Time')->Set($_GET['time']);
    $form->addField('ReadOnly','Driver')->Set($_GET['driverid']);       
    $client=$form->addField('autocomplete','studentid');
很简单,但没有什么,我无法获得autocomplete字段,我曾经收到一个错误,说“autocomplete.php”不存在(实际上该文件不存在,我尝试下载github模块,但该模块中的任何一个都包含此文件),总之,我得到的错误是:

异常\u探路者,代码:0

其他信息:

file: Form/Field/Autocomplete.php
type: php
attempted_locations:
0: /Library/WebServer/Documents/rutas/lib/Form/Field/Autocomplete.php
1: /Library/WebServer/Documents/rutas/atk4/lib/Form/Field/Autocomplete.php
2: /Library/WebServer/Documents/rutas/atk4-addons/mvc/Form/Field/Autocomplete.php
3: /Library/WebServer/Documents/rutas/atk4-addons/misc/lib/Form/Field/Autocomplete.php
class: Form_Field_Autocomplete
namespace:
orig_class: Form_Field_Autocomplete
/Library/WebServer/Documents/rutas/atk4/lib/PathFinder.php:207

有人能帮我一下吗?

你说的是这个附加组件,对吧:

看起来PathFinder出现问题,无法找到名称空间加载项的适当位置。 请在此发布您的API_前端类的一部分,您可以在其中向pathfinder添加其他位置,并告诉我有关您的文件夹结构的更多信息(您将自动完成附加文件放在哪个文件夹中)

ATK 4.2.4版本不是最后一个。您可以尝试将ATK升级到4.2.5版吗?它尚未正式发布,但可以在GitHub主分支中找到:? 我希望在4.2.5版本下一切都能正常工作,但如果不行,我将帮助您解决这个问题

还有一件事——如果您手动创建表单字段,那么您需要为$client字段设置模型。我想可以使用$client->setModel('Agenda')


编辑:正确答案

一致

$client=$form->addField('autocomplete','studentid');
您应该使用如下名称空间编写完整的自动完成字段类名:

$client=$form->addField('autocomplete/Basic', 'studentid');

还要注意的一点是使用小写函数名。因此,不要使用
Set()
而是使用
Set()

黑暗面,首先用tk作为答案。1) 我下载了4.2.5版本(下载ZIP文件,并用新文件更新我的ATK4目录)2)现在我有一个新错误:堆栈跟踪:文件对象名Stack trace/Library/WebServer/Documents/rutas/page/agenda.php:14 Loggererror_handler(8,“未定义变量:n”,“/Library/WebServer/Documents/rutas/page/agenda.php”,14,数组(5)) ?????? 关于$client字段,是的,我认为我使用了setModel('Agenda')的正确模型,但无论如何我可以验证它。@Mack这个怎么样"... 看起来PathFinder出现问题,无法找到名称空间加载项的适当位置。请在此发布您的API_前端类的一部分,您可以在其中向pathfinder添加其他位置,并告诉我有关您的文件夹结构的更多信息(您将自动完成附加文件放在哪个文件夹中)。。。“?关于未定义的变量错误我不能告诉您任何事情,除非看到您的代码,但我想这不是ATK的问题,而是您的/page/agenda.php文件(第14行)。好的,关于错误(n变量等)解决了。我不明白为什么4.2.4没有出现这些错误,4.2.5证明了这些错误,但再次解决了。我再次遇到了autocomplete.php问题。我试图用autocomplete文件替换atk4插件。我的项目都在一个名为rutas的目录中,其中有atk4、atk4插件、文档、库、日志、页面和template,一个示例的副本!我修改了API_Fronted以更新菜单,仅此而已,当然我用DB更新了config.php。我如何使用API_Frontend添加自动完成?好的,我想我明白你的意思了,我添加了$this->addLocation('atk4-addons',array('php'=>array('mvc'、'misc/lib'、'autocomplete master'))->setParent($this->pathfinder->base_location);进入api_前端,我将autocomplete master复制到atk4插件中,但什么也没有发生,错误已经存在