uu.. no tak kolego nie da rady...
spróbuj tak:
katalog.tpl
<select name="cat" onChange="show_products(this)"> {section name=i loop=$cats_list}
<option value="{$cats_list[i].cat_id}"> {$cats_list[i].cat_name}
{/section}
javascript (dla kolorania użyłem php):
<?php
function show_products(sel)
{
var cat = sel.options[sel.selectedIndex].value;
new Ajax.Request("action.php", {
method: "post",
parameters: { id : cat },
onSuccess: function(obj){ document.getElementById("plist").innerHTML = obj.responseText;
});
}
?>
action.php, dodajemy nazwe templatki na koncu do wyswietlenia;:
<?php
if($_POST['id']!='')
{
$q = mysql_query("SELECT * FROM products WHERE product_cat = '$cat'"); $products_list = array(); {
$products_list[] = $tab;
}
$smarty->assign('products_list', $products_list);
$smarty->display('products_list.tpl');
}
?>
no i na końcu trza stworzyć nowy plik products_list.tpl, do którego przekazujesz tablicę ze smarty (do już załadowanego templata się po prostu nie da):
{section name=i loop=$products_list}
<div id="{$products_list[i].product_id}">{$products_list[i].product_name}
</div> {/section}
dopiero Tak Ci to zadziała