0

在我正在构建的 Web 应用程序中,用户有一个个人资料,他们可以在其中列出他们的技能。我想要 StackOverflow 在发布帖子时具有的那种功能,您可以在其中将标签输入标签输入并选择已经存在的标签,如果它们不存在则创建它们。

目前,我在页面上出现了一个选择框,其中包含id用户当前技能的值。我通过这样做来实现这一目标:

// ProfilesController.php
$skills = $this->Profile->ProfilesSkill->find('list');

// edit.ctp
<?php echo $this->Form->input('Skill', array('value' => $skills)); ?>

不过,我不知道如何进一步进步。首先,name应该显示技能的字段而不是他们的id,我对此感到困惑,因为根据 Cake 的约定,它会name默认使用该字段,即使它不是。其次,当我在我的个人资料中输入我的技能时,Cake 应该会自动在表格中输入所有必需的条目profiles_skills。我怎样才能使它工作?

4

1 回答 1

0

解决方案非常简单,尽管工作量很大。

首先,您需要一个标签系统。您可以自己构建一个(就像任何 habtm-relation 一样),或者使用像https://github.com/CakeDC/tags这样的插件

对于第二部分,该功能称为“自动完成”。每次在表单字段中输入字母时,它基本上都是一个 ajax 调用。那里有很多教程,例如:http ://blogfreakz.com/cakephp/cakephp-jquery-autocomplete-tutorial/

希望这会为您指明正确的方向

于 2013-02-18T12:56:40.323 回答