2013-02-17 48 views
0

在我正在構建用戶的Web應用程序中,有一個用戶可以列出其技能的配置文件。我希望StackOverflow在發佈帖子時具有的功能,您可以在標籤輸入中鍵入標籤並選擇已存在的標籤,如果它們不存在,也可以創建它們。具有HABTM關係的用戶配置文件中的標籤式技巧

目前,我有一個選擇框出現在頁面上,用戶當前技能的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表中的所有必需條目。我怎樣才能做到這一點?

+0

我建議打破這種分解成更小的問題,並給予有關各個問題的更多細節。 – Dave 2013-02-17 19:42:50

回答

0

解決方案非常簡單,儘管它的工作量很大。

首先你需要一個標籤系統。你可以建立你自己的一個(像任何的habtm-關係),或使用像https://github.com/CakeDC/tags

插件對於第二部分,該功能被稱爲「自動完成」。每次你在表單域輸入一個字母時,它基本上都是ajax調用。還有一堆教程在那裏,e.g:http://blogfreakz.com/cakephp/cakephp-jquery-autocomplete-tutorial/

希望這點你在正確的方向