Hi,
ich habe mittels jQuery und ajax eine Autovervollständigung in die Suche eingebaut.
Mein Javascript:
Mein passender Controller sieht gekürzt so aus
(es wurden nur die Datenbank abfragen weggekürzt):
Das ganze funktioniert auch soweit. Er zeigt mir Ergebnisse an.
Leider spuckt er mir im php.log folgenden Fehler aus:
PHP Warning: Smarty error: unable to read resource: "" in /srv/www/htdocs/core/smarty/Smarty.class.php on line 1093
Wie kann ich diesen "Fehler beheben? Habe dazu leider nichts in google gefunden und auch nicht im Forum.
ich habe mittels jQuery und ajax eine Autovervollständigung in die Suche eingebaut.
Mein Javascript:
Code:
var obj = $('#searchParam').autocomplete({
autoFocus: false,
minLength: 4,
source: function( request, response ) {
$.ajax({
url: 'http://meineshopadresse.de/index.php?cl=my_ajax_cl',
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: {
name_startsWith: request.term,
type: 'search'
},
success: function( data ) {
response( $.map( data, function( item ) {
return {
label: item.label,
value: item.value,
url: item.url
}
}));
}
});
},
select: function( event, ui ) {
if (ui.item.url) {
window.location.href = ui.item.url;
}
}
}).data("ui-autocomplete");
obj && (obj._renderItem = function (ul, item) {
//Add the .ui-state-disabled class and don't wrap in <a> if value is empty
if(item.value ==''){
return $('<li class="ui-state-disabled">'+item.label+'</li>').appendTo(ul);
}else{
return $("<li>")
.append("<a>" + item.label + "</a>")
.appendTo(ul);
}
});
(es wurden nur die Datenbank abfragen weggekürzt):
PHP Code:
<?php
class my_ajax_cl extends oxubase
{
public function render()
{
parent::render();
/* Teil der Datenbankabfrage weggekürzt aus Platzgründen
$result ist ein Array welches das Ergebniss der Datenbankabfragen enthält. */
if(empty($results)) {
$results = Array();
$this->renderJson($results);
} else {
$this->renderJson($results);
}
}
}
function renderJson($json) {
ini_set('display_errors', 0);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: text/json");
echo json_encode($json);
return null;
}
}
?>
Das ganze funktioniert auch soweit. Er zeigt mir Ergebnisse an.
Leider spuckt er mir im php.log folgenden Fehler aus:
PHP Warning: Smarty error: unable to read resource: "" in /srv/www/htdocs/core/smarty/Smarty.class.php on line 1093
Wie kann ich diesen "Fehler beheben? Habe dazu leider nichts in google gefunden und auch nicht im Forum.