Zum UTF-8 Problem steht hier alles wichtige:
https://www.modified-shop.org/forum/index.php?topic=26848.msg294149#msg294149Zum Problem fehlender Preis erkläre ich Dir mal wie Smarty funktioniert, dann findest du das selbst.
Im php wird einer Smarty Klasse eine Variable zugewiesen.
z.B.
$module_smarty->assign('CATEGORIES_IMAGE', $image);
Oder ein Array, hier im Shop zumeist $module_data
$module_smarty->assign('module_data', $module_data);
Das in der Klasse products (/includes/classes/product.php) zusammengesetzt wird ... hier als Beispiel aus meinem Shop:
//products data array $productData = array ('PRODUCTS_NAME' => htmlspecialchars($array['products_name'],ENT_QUOTES,$_SESSION['language_charset']), 'COUNT' => isset($array['ID']) ?
$array['ID'] : 0, 'PRODUCTS_ID'=> $array['products_id'], 'PRODUCTS_MODEL'=> isset($array['products_model']) ?
$array['products_model'] : '', 'PRODUCTS_EAN' => isset($array['products_ean']) ?
$array['products_ean'] : '', 'PRODUCTS_MANUFACTURERS_MODEL' => isset($array['products_manufacturers_model']) ?
$array['products_manufacturers_model'] : '', 'PRODUCTS_VPE' => $main->getVPEtext($array, $products_price['plain']), // products_extrafield 'PRODUCTS_AUTOR' => $array['autor'], 'PRODUCTS_AUTOR_ID' => $array['autor_id'], 'PRODUCTS_AUTOR_IMAGE' => $array['autor_image'], 'PRODUCTS_PAGES' => $array['pages'], 'PRODUCTS_COVER' => $array['cover'], 'PRODUCTS_SUBTITLE' => $array['products_subtitle'], 'PRODUCTS_PUBLISHING_INFO' => $array['products_publishing_info'], 'PRODUCTS_EBOOK_ISBN' => $array['products_ebook_isbn'], 'PRODUCTS_EBOOK_URL' => $array['products_ebook_url'], 'PRODUCTS_AVAILABLE' => $array['products_date_available'], 'PRODUCTS_CLASS_ID' => $array['products_class_id'], // end products_extrafield 'PRODUCTS_IMAGE' => $products_image, 'PRODUCTS_IMAGE_SIZE' => $img_attr, 'PRODUCTS_IMAGE_TITLE' => str_replace('"','',$array['products_name']), 'PRODUCTS_LINK' => xtc_href_link
(FILENAME_PRODUCT_INFO
, xtc_product_link
($array['products_id'], $array['products_name'])), 'PRODUCTS_PRICE' => $products_price['formated'], 'PRODUCTS_TAX_INFO' => $main->getTaxInfo($tax_rate), 'PRODUCTS_SHIPPING_LINK' => $main->getShippingLink(), 'PRODUCTS_BUTTON_BUY_NOW' => $buy_now, 'PRODUCTS_SHIPPING_NAME'=>$shipping_status_name, 'PRODUCTS_SHIPPING_IMAGE'=>$shipping_status_image, 'PRODUCTS_DESCRIPTION' => isset($array['products_description']) ?
$array['products_description'] : '', //DokuMan - 2010-02-26 - set Undefined index 'PRODUCTS_QUANTITY' => isset($array['products_quantity']) ?
$array['products_quantity'] : '', 'PRODUCTS_EXPIRES' => isset($array['expires_date']) ?
$array['expires_date'] : 0, //DokuMan - 2010-02-26 - set Undefined index 'PRODUCTS_CATEGORY_URL' => isset($array['cat_url']) ?
$array['cat_url'] : '', //DokuMan - 2010-02-26 - set Undefined index 'PRODUCTS_SHORT_DESCRIPTION' => isset($array['products_short_description']) ?
$array['products_short_description'] : '', //DokuMan - 2010-02-26 - set Undefined index 'PRODUCTS_FSK18' => isset($array['products_fsk18']) ?
$array['products_fsk18'] : 0, //DokuMan - 2010-02-26 - set Undefined index 'PRODUCTS_BUTTON_DETAILS' => '<a href="'.xtc_href_link
(FILENAME_PRODUCT_INFO
, xtc_product_link
($array['products_id'], $array['products_name'])).'">'.xtc_image_button
('button_product_more.gif', $array['products_name'].TEXT_NOW
).'</a>' //GTB - 2010-08-27 make Button Details global ); Diese Smarty Variablen die so gesetzt werden sind dann im html definiert.
$smarty->assign('name','Wert');
Wenn ich im html jetzt das schreibe:
{$name}
wird "Wert" angezeigt.
Wenn ich ein Array habe:
$smarty->assign('name_array',array('name_key1'=>'Wert1', 'name_key2'=>'Wert2')); kann ich die einzelnen Schlüssel des Arrays so anprechen:
{$name_array.name_key2}
würde "Wert2" ausgeben.
Wenn jetzt in Deiner HTML Datei der Produktpreis ausgegeben werden soll, müsstest Du dann schon das Smarty tag dafür da hinschreiben, wo der Preis stehen soll. Wenn das fehlt kann kein Preis angezeigt werden.
Je nachdem ob Du dich in einem Listing bewegst, einer Box oder einer products_info kann der Name variieren. Also einfach an den bestehenden Tags orientieren. Wenn {$module_data.PRODUCTS_QUANTITY} verwendet wird, sollte auch z.B. {$module_data.PRODUCTS_MODEL} funktionieren. Wenn aber z.B. {$PRODUCTS_QUANTITY} verwendet wird, dann geht auch {$PRODUCTS_MODEL}
Ich hoffe das hilft Dir den Fehler selbst zu finden, und auch in Zukunft bei Umbauten