Produktliste

Du hast ein PHP-Code Problem und benötigst Hilfe bei der Lösung

Produktliste

Beitragvon Bodyshop » Fr 9. Nov 2012, 16:34

Hallo ich möchte alle Produkte, auf 1er Seite unter einander anzeigen lassen. Ähnlich wie mit der new_products.php
Ich habe versucht selbst eine Lösung zu finden ich weiß auch in etwa wie nur mir fehlt der entscheidende Wink mit dem Zaunpfahl.
Bodyshop
 
Beiträge: 15
Registriert: Sa 3. Nov 2012, 00:07

Re: Produktliste

Beitragvon ulli81 » Sa 10. Nov 2012, 11:58

macht die stats_products_onstock.php oder die stats_stock_warning.php nicht das was du beschreibst?

Gruß
ulli
ulli81
 
Beiträge: 108
Registriert: Di 20. Jul 2010, 00:32

Re: Produktliste

Beitragvon yogi » Sa 10. Nov 2012, 13:33

Hi,

möchest Du alle Produkte vom gesamten Shop oder nur die von einer Kategorie anzeigen?
yogi
Administrator
 
Beiträge: 289
Registriert: Do 6. Mai 2010, 16:16
Wohnort: Köln

Re: Produktliste

Beitragvon Bodyshop » Sa 10. Nov 2012, 17:38

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 ;-) 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???
Bodyshop
 
Beiträge: 15
Registriert: Sa 3. Nov 2012, 00:07



Ähnliche Beiträge


Zurück zu Probleme mit PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron