Итак, у меня есть собственный модуль Drupal, который выводит отформатированную версию данных узла песни на основе идентификатора узла в пути (load / song / NID). Эта функция работает нормально, и когда я смотрю на URL в своем браузере, я вижу, что все загрузилось отлично.
Код моего модуля:
function load_song($nid){
$node = node_load($nid);
$songname = $node->title;
$albumid = $node->field_album['und'][0]['nid'];
$album = node_load($albumid);
$file = $album->field_cover['und'][0];
//Loads the album filepath from the file array returned above
$filepath = $file['uri'];
//The path returned is something like "public://file.jpg"
$filepath = str_replace("public://", "http://mysite.com/sites/default/files/styles/thumbnail/public/", $filepath);
//I then set a variable (imgurl) to the formatted filepath
$imgurl = $filepath;
$artistid = $album->field_artist['und'][0]['nid'];
$artist = node_load($artistid);
$artistname = $artist->title;
echo 'I output the variables + formatting here';
}
Получив выходные данные, я загружаю их в свой файл page.tpl.php в Drupal с помощью функции jQuery .load. Мой код:
function loadSongInfo(id) {
$("#current-song").html('Loading').load('http://mysite.com/load/song/' + id);
}
Итак, с этим вводом я получаю данные из URL (который отлично отформатирован), и другие переменные, которые я загружаю (имя исполнителя, название песни и т. Д.), Работают нормально. Однако там, где у меня есть путь к файлу, все, что я получаю, это пустая строка.
Это, конечно, меня смущает, потому что в моем браузере он работает нормально, но когда я вызываю функцию в jQuery, она прекрасно загружает все остальные переменные, кроме пути к файлу.
Я пытался (и получил неудачные результаты):
- Преобразование переменной $ filepath в строку с использованием трех различных методов
- (я подумал, что это может быть что-то странное с URL). Я заменил переменную filepath только статической строкой ("http://mysite.com/sites/default/files/styles/thumbnail/public/file.jpg"),, которая вернула правильный результат, но все еще не работает с фактической переменной
- var_dump
- print_r
Кто-нибудь знает, почему это не работает?