Hallo,
Alle Produkte des Shops mit Herstellernamen und EAN um genau zu sein.
Habe es jetzt so weit hinbekommen das ich schonmal die Produkte mit Preis Bild und Produktlink angezeigt bekomme.
Ich habe mich dabei in etwa an das xtc modul Alle_produkte gehalten und mir die variablen der new_products.php angeschut und dementsprechend in meiner produktpalette.php angepasst.
Ich weiss nicht 100% ob es so gut gelöst ist, da ich kein Profi in PHP bin, ich habe mich aber versucht im letzten halben Jahr so gut wie möglich damit anzufreunden obwohl am anfang immer alles aussah wie chinesisch rückwärts ergibt doch alles irgendwo seinen sinn
![Zwinkern ;-)](./images/smilies/icon_e_wink.gif)
Für meine zwecke funktioniert es erstmal.
Habe das ganze jetzt so gelöst:
Eine produktpalette.html angelegt und folgenden code eingefügt:
Code: Alles auswählen
{if count($module_content)}
{config_load file="$language/lang_$language.conf" section="new_products"}
<div class="product_listing grid_12 alpha omega">
<h2>{#heading#}</h2>
<ul class="grid_12 alpha omega">
{foreach name=product_list item=item from=$module_content}
{snippet file=product_listing_4_item.html item=$item}
{/foreach}
</ul>
</div>
{/if}
Dann eine php ins root verzeichnis des shops mit dem inhalt:
Code: Alles auswählen
<?php
include( 'includes/application_top.php');
$smarty = new template();
require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');
$all_products_array = array ();
$where = array('p.products_status = 1');
if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
$where[] = 'p.products_fsk18 != 1';
}
if (GROUP_CHECK == 'true') {
$where[] = 'p.group_permission_'.$_SESSION['customers_status']['customers_status_id'].' = 1';
}
$where[] = "(
p.products_date_expire > NOW() OR
p.products_date_expire IS NULL OR
p.products_date_expire = '0000-00-00 00:00:00'
)";
$sql = '-- products_new
SELECT
p.*,
pd.products_name, pd.products_short_description, pd.products_description
FROM
( SELECT
p.products_id, p.products_model, p.products_ean,
p.products_quantity, p.products_weight, p.products_image,
p.products_price,
-- s.specials_new_products_price,
-- if(s.specials_new_products_price < IFNULL(p2cs.personal_offer, p.products_price), s.specials_new_products_price, IFNULL(p2cs.personal_offer, p.products_price)) best_price,
p.products_vpe, p.products_vpe_status, p.products_vpe_value,
p.products_discount_allowed, p.products_tax_class_id,
p.products_fsk18, p.products_shippingtime, p.products_sort,
p.manufacturers_id, m.manufacturers_name,
p.products_date_added
-- , s.specials_date_added
FROM '.TABLE_PRODUCTS.' p
LEFT JOIN '.TABLE_MANUFACTURERS.' m ON p.manufacturers_id = m.manufacturers_id
-- LEFT JOIN '.TABLE_SPECIALS.' s ON p.products_id = s.products_id
-- LEFT JOIN '.TABLE_PRODUCTS_TO_CUSTOMERS_STATUS.' p2cs ON p.products_id = p2cs.products_id and p2cs.customers_status='.(int)$_SESSION['customers_status']['customers_status_id'].'
WHERE
'.implode(' AND ', $where).' AND
exists
( SELECT 1
FROM '.TABLE_PRODUCTS_TO_CATEGORIES.' p2c
JOIN '.TABLE_CATEGORIES.' c ON c.categories_status = 1 AND p2c.categories_id = c.categories_id
WHERE p.products_id = p2c.products_id
)
) p
JOIN '.TABLE_PRODUCTS_DESCRIPTION.' pd ON p.products_id = pd.products_id and pd.language_id = '.(int)$_SESSION['languages_id'].'
ORDER BY p.products_date_added DESC';
$products_new_split = new split_page_results($sql, (array_key_exists('page', $_GET) ? $_GET['page'] : 0), MAX_DISPLAY_PRODUCTS_NEW);
if (($products_new_split->getNumberOfRows() > 0)) {
$navigation_smarty = new template();
$page_links = $products_new_split->getLinksArray(MAX_DISPLAY_PAGE_LINKS,
xtc_get_all_get_params(array ('page', 'info', 'x', 'y')),
TEXT_DISPLAY_NUMBER_OF_PRODUCTS_NEW);
$navigation_smarty->assign('LINKS', $page_links);
$navigation = $navigation_smarty->fetch('module/page_navigation.html');
$smarty->assign('NAVIGATION', $navigation);
}
$module_content = '';
if ($products_new_split->getNumberOfRows() > 0) {
while ($row = $products_new_split->getRow()) {
$module_content[] = $product->buildDataArray($row);
}
$module_content = get_images($module_content);
} else {
$smarty->assign('ERROR', TEXT_NO_NEW_PRODUCTS);
}
$smarty->assign('module_content', $module_content);
$main_content = $smarty->fetch('module/produktpalette.html');
include ('includes/application_bottom.php');
Nur bei den abfragen für Herstellername und Ean Nr. weiss ich grad nicht weiter und nicht wie ich vorgehen soll ;((
was muss in die html und was in die php???