Как назначить теги для обработчика тегов по ioncache из базы данных
Я использую этот плагин под названием TagHandler. Ссылка: http://ioncache.github.io/Tag-Handler/ Могу ли я узнать, как можно назначить теги из базы данных, а не жесткий код для jquery? Пример для назначения тегов
$("#array_tag_handler").tagHandler({
assignedTags: [ 'C', 'Perl', 'PHP' ],
availableTags: [ 'C', 'C++', 'C#', 'Java', 'Perl', 'PHP', 'Python' ],
autocomplete: true
});
Но я хочу это из базы данных MySQL.
Они привели пример только для доступных тегов, который использует встроенную функцию getData
$("#ajaxget_tag_handler").tagHandler({
getData: { id: 'user123', type: 'user' },
getURL: '/ajaxtest/get',
autocomplete: true
});
Мне нужен пример PHP. Я не знаю, как получить данные в формате JSON.
С веб-сайта... "Предоставляя"getURL"для тегов, которые будут получены через AJAX. При использовании этого метода сервер должен предоставить массив в формате JSON с именем"availableTags"и, необязательно, дополнительный массив с именем" assignTags"."
1 ответ
На стороне клиента вы хотите загрузить обработчик тега следующим образом:
$(document).ready(function()
{
$("#array_tag_handler").tagHandler({
dataType: 'json',
getURL: '/admin/tag/list',
autocomplete: true
});
});
Это вызывает маршрут '/admin/tag/list' и ожидает возвращения json. На стороне сервера вы хотите получить список тегов и передать их обратно в формате json.
$result = getTags(); // Returns eg array('tag1', 'tag2', 'tag3', etc)
Затем создайте свой массив с правильными индексами в соответствии с документацией Tag Handler:
$data = array('availableTags' => $result);
Обратите внимание, что если вы хотите предварительно загрузить некоторые теги (например, tag1 и tag2), просто измените приведенный выше массив так, чтобы он выглядел так:
$data = array('availableTags' => $result, 'assignedTags' => array('tag1', 'tag2'));
Затем вам нужно json кодировать этот массив, прежде чем возвращать его клиенту:
return json_encode($data);