Registrovat    Přihlášení
Domů Odkazy Fórum Ke stažení Web hosting Registrace do katalogů
Přihlásit
Jméno:

Heslo:

Pamatuj si mně



Zapomenuté heslo

Nová registrace
Partner a hosting webu
zserver.cz
Spolupráce
Odkazy
česká sociální síť rexVoX.com
Informace a projekty na rodinné domy naleznete v našem blogu.

Navštívit můžete také pasivní rodinné domy - dřevostavby, kde naleznete informace o pasivních stavbách.

Odkazy.
Outlook CRM

Pro efektivní komunikaci i vedení projektů doporučujeme eWay-CRM.

IMac

Potřebujete nový pracovní počítač? Apple iMac bude nejlepší volbou!

Inzerujte zde!

Máte zájem o reklamu? Kupte si textový odkaz na této pozici!



Kategorie a fóra

Prohlížení tohoto vlákna:   1 Anonymní uživatelé



« 1 2 3 4 (5) 6 »


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
10:42 1.8.2007
Skupina:
Registrovaní uživatelé
Příspěvky: 382
Nepřipojen
Citát:

jean napsal/a:
...řešení, které vám pomůže dosáhnout stejného efektu s daleko menší zátěží na databázové dotazy


Ohledně té zátěže - pokud někdo používáte řešení které je tady na předchozích stránkách popsané tak doporučuju doplnit k tabulce zen_categories nový index na sloupec parent_id.

Zasláno: 13:08 30.10.2009
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
10:42 1.8.2007
Skupina:
Registrovaní uživatelé
Příspěvky: 382
Nepřipojen
Ještě jedna důležitá úprava - pokud je na stránce najednou vypsáno více odkazů do podkategorie než samotného zboží, tak může být výpis zmatený. Pod položkami se zbožím se pak můžou znovu zobrazit odkazy do kategorií. Je to způsobené tím, že kategorie i zboží jsou uloženy v jednom poli - v návrhu shopu se prostě nepočítalo se zobrazením najednou.

Na opravu stačí do "tpl_index_categories_and_product_list.php" doplnit

unset ($list_box_contents); // uprava Perpetum pro smazani stareho pole


před tento řádek
require($template->get_template_dir('tpl_modules_product_listing.php', 
DIR_WS_TEMPLATE, $current_page_base,'templates'). '/' . 'tpl_modules_product_listing.php');

Zasláno: 14:54 31.10.2009

Editováno jandik01 ze dne 19. 2. 2010 8:01:12
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
16:36 17.1.2009
Skupina:
Registrovaní uživatelé
Příspěvky: 157
Nepřipojen
Citát:

Kovboj napsal/a:
Citát:

boldrick napsal/a:
Ale jak jsem psal - nevím kdy se k tomu dostanu - mám teď rozdělané asi 3 úpravy a nestíhám


Stačí do SELECTu v default_filter doplnit na konec

." GROUP BY products_id"



Tohle jsi myslel na co kvůli tomu dablování produktů ????

Můžeš sem hodit přeně jak to tam přidat ?

Zasláno: 12:37 20.11.2009
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
10:42 1.8.2007
Skupina:
Registrovaní uživatelé
Příspěvky: 382
Nepřipojen
Citát:

boldrick napsal/a:

Tohle jsi myslel na co kvůli tomu dablování produktů ????

Můžeš sem hodit přeně jak to tam přidat ?


Ano, zajistí to že každá položka se zobrazí jen jednou bez ohledu na to v kolika podkategoriích je.

Nevím jak přesněji to přidat než jak jsem to už napsal, ale zkusím to

Otevři soubor /includes/index_filtres/default_filter.php

Tam si najdi SQL které je za poznámkou

// We are asked to show only specific category


na konci SQL je tam
$alpha_sort;


to oprav na
$alpha_sort." GROUP BY products_id ";

Zasláno: 13:31 20.11.2009
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
16:36 17.1.2009
Skupina:
Registrovaní uživatelé
Příspěvky: 157
Nepřipojen
Citát:



Otevři soubor /includes/index_filtres/default_filter.php

Tam si najdi SQL které je za poznámkou

// We are asked to show only specific category


na konci SQL je tam
$alpha_sort;


to oprav na
$alpha_sort." GROUP BY products_id ";


No tohle jsme zkousel jiz driv, proto jsem psal - myslel jsem ze to davam spatne - zkousel jsem i ted znovu - ale nema to zadny uspech - stejne se zobrazuji produkty vicekrat .

tobe to funguje na tehle uprave ?

Zasláno: 18:05 20.11.2009
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
10:42 1.8.2007
Skupina:
Registrovaní uživatelé
Příspěvky: 382
Nepřipojen
Citát:
boldrick napsal/a:

tobe to funguje na tehle uprave ?


Jasně. Koukám že jsem tam těch úprav dělal víc, ono to dělalo duplicitní záznamy na víc místech. Už se mi nechce hledat co přesně a kde jsem opravoval, tady máš kompletní obsah default_filter.php. Nahraď si to místo toho co máš teď a mělo by ti to fungovat

Ale původní verzi skriptu si radši nech uloženou, co kdyby to náhodou s tvým shopem nefungovalo...

<?php
/**
 * default_filter.php  for index filters
 *
 * index filter for the default product type
 * show the products of a specified manufacturer
 *
 * @package productTypes
 * @copyright Copyright 2003-2006 Zen Cart Development Team
 * @copyright Portions Copyright 2003 osCommerce
 * @todo Need to add/fine-tune ability to override or insert entry-points on a per-product-type basis
 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
 * @version $Id: default_filter.php 4770 2006-10-17 05:12:23Z drbyte $
 */
if (!defined('IS_ADMIN_FLAG')) {
  die('Illegal Access');
}
  if (isset($_GET['alpha_filter_id']) && (int)$_GET['alpha_filter_id'] > 0) {
    $alpha_sort = " and pd.products_name LIKE '" . chr((int)$_GET['alpha_filter_id']) . "%' ";
  } else {
    $alpha_sort = '';
  }
  if (!isset($select_column_list)) $select_column_list = "";
  
  // úprava Perpetum - načtení seznamu podkategorií.  
  // používá se to na různých místech, tak aby se to nemuselo pokaždé
  // znova generovat tak se to udělá takhle na začátku a použije všude kde je potřeba ;-)

if (zen_has_category_subcategories((int)$current_category_id)) {
zen_get_subcategories($kategorie,(int)$current_category_id);
for ($i=0; $i < count($kategorie); $i++) {
$subkategorie_sql .= "or p2c.categories_id = '" . $kategorie[$i] . "' ";
}
}
// konec načítání seznamu podkategorií

   // show the products of a specified manufacturer
  if (isset($_GET['manufacturers_id']) && $_GET['manufacturers_id'] != '' ) {
    if (isset($_GET['filter_id']) && zen_not_null($_GET['filter_id'])) {
// We are asked to show only a specific category
      $listing_sql = "select " . $select_column_list . " p.products_id, p.products_type, p.manufacturers_id, p.products_price, p.products_tax_class_id, pd.products_description, pd.products_datasheet, if(s.status = 1, s.specials_new_products_price, NULL) AS specials_new_products_price, IF(s.status = 1, s.specials_new_products_price, p.products_price) as final_price, p.products_sort_order, p.product_is_call, p.product_is_always_free_shipping, p.products_qty_box_status, p.delivery_value_number
       from " . TABLE_PRODUCTS . " p 
       left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id 
       LEFT JOIN " . TABLE_MANUFACTURERS . " m ON p.manufacturers_id = m.manufacturers_id
       LEFT JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c ON p.products_id = p2c.products_id
       LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON pd.products_id = p2c.products_id 
       where p.products_status = 1
         and m.manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'
         and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
         and p2c.categories_id = '" . (int)$_GET['filter_id'] . "'" .
         $alpha_sort;
    } else {
// We show them all  
      $listing_sql = "select " . $select_column_list . " p.products_id, p.products_type, p.manufacturers_id, p.products_price, p.products_tax_class_id, pd.products_description, pd.products_datasheet, IF(s.status = 1, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status = 1, s.specials_new_products_price, p.products_price) as final_price, p.products_sort_order, p.product_is_call, p.product_is_always_free_shipping, p.products_qty_box_status, p.delivery_value_number
      from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id
      LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON pd.products_id = p.products_id
      LEFT JOIN " . TABLE_MANUFACTURERS . " m ON p.manufacturers_id = m.manufacturers_id
      where p.products_status = 1
        and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
        and m.manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'" .
        $alpha_sort;
    }
  } else {
// show the products in a given category
    if (isset($_GET['filter_id']) && zen_not_null($_GET['filter_id'])) {
// We are asked to show only specific category
      $listing_sql = "select " . $select_column_list . " p.products_id, p.products_type, p.manufacturers_id, p.products_price, p.products_tax_class_id, pd.products_description, pd.products_datasheet, IF(s.status = 1, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status = 1, s.specials_new_products_price, p.products_price) as final_price, p.products_sort_order, p.product_is_call, p.product_is_always_free_shipping, p.products_qty_box_status, p.delivery_value_number
      from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id 
      LEFT JOIN " . TABLE_MANUFACTURERS . " m ON p.manufacturers_id = m.manufacturers_id
      LEFT JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c ON p.products_id = p2c.products_id
      LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd  ON pd.products_id = p2c.products_id
      where p.products_status = 1
        and m.manufacturers_id = '" . (int)$_GET['filter_id'] . "'
        and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
        and (p2c.categories_id = '" . (int)$current_category_id . "'" .$subkategorie_sql . ")" .
        $alpha_sort." GROUP BY products_id ";
    } else {
// We show them all


      $listing_sql = "select " . $select_column_list . " p.products_id, p.products_type, p.manufacturers_id, p.products_price, p.products_tax_class_id, pd.products_description, pd.products_datasheet, IF(s.status = 1, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status =1, s.specials_new_products_price, p.products_price) as final_price, p.products_sort_order, p.product_is_call, p.product_is_always_free_shipping, p.products_qty_box_status, p.delivery_value_number
       from " . TABLE_PRODUCTS_DESCRIPTION . " pd 
       LEFT JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c ON  pd.products_id = p2c.products_id 
       LEFT JOIN  " . TABLE_PRODUCTS . " p ON p.products_id = p2c.products_id
       left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id
       left join " . TABLE_SPECIALS . " s on p2c.products_id = s.products_id
       where p.products_status = 1
         and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
         and (p2c.categories_id = '" . (int)$current_category_id . "'" .$subkategorie_sql . ")" .
         $alpha_sort." GROUP BY products_id ";
    }
  }

// set the default sort order setting from the Admin when not defined by customer
  if (!isset($_GET['sort']) and PRODUCT_LISTING_DEFAULT_SORT_ORDER != '') {
    $_GET['sort'] = PRODUCT_LISTING_DEFAULT_SORT_ORDER;
  }

  if (isset($column_list)) {
    if ((!isset($_GET['sort'])) || (isset($_GET['sort']) && !ereg('[1-8][ad]', $_GET['sort'])) || (substr($_GET['sort'], 0, 1) > sizeof($column_list)) ) {
      for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
        if (isset($column_list[$i]) && $column_list[$i] == 'PRODUCT_LIST_NAME') {
          $_GET['sort'] = $i+1 . 'a';
          $listing_sql .= " order by p.products_sort_order, pd.products_name";
          break;
        } else {
// sort by products_sort_order when PRODUCT_LISTING_DEFAULT_SORT_ORDER is left blank
// for reverse, descending order use:
//       $listing_sql .= " order by p.products_sort_order desc, pd.products_name";
          $listing_sql .= " order by p.products_sort_order, pd.products_name";
          break;
        }
      }
// if set to nothing use products_sort_order and PRODUCTS_LIST_NAME is off
      if (PRODUCT_LISTING_DEFAULT_SORT_ORDER == '') {
        $_GET['sort'] = '20a';
      }
    } else {
      $sort_col = substr($_GET['sort'], 0 , 1);
      $sort_order = substr($_GET['sort'], 1);
      $listing_sql .= ' order by ';
      switch ($column_list[$sort_col-1]) {
        case 'PRODUCT_LIST_MODEL':
          $listing_sql .= "p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_NAME':
          $listing_sql .= "pd.products_name " . ($sort_order == 'd' ? 'desc' : '');
          break;
        case 'PRODUCT_LIST_MANUFACTURER':
          $listing_sql .= "m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_QUANTITY':
          $listing_sql .= "p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_IMAGE':
          $listing_sql .= "pd.products_name";
          break;
        case 'PRODUCT_LIST_WEIGHT':
          $listing_sql .= "p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_PRICE':
//          $listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          $listing_sql .= "p.products_price_sorter " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
      }
    }
  }
// optional Product List Filter
  if (PRODUCT_LIST_FILTER > 0) {
    if (isset($_GET['manufacturers_id']) && $_GET['manufacturers_id'] != '') {
      $filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name, p.delivery_value_number
      from " . TABLE_PRODUCTS . " p 
      LEFT JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c ON p.products_id = p2c.products_id
      LEFT JOIN " . TABLE_CATEGORIES . " c ON p2c.categories_id = c.categories_id
      LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON p2c.categories_id = cd.categories_id
      where p.products_status = 1
        and cd.language_id = '" . (int)$_SESSION['languages_id'] . "'
        and p.manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'
      GROUP BY categories_name order by cd.categories_name";
    } else {
      $filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name, p.delivery_value_number
      from " . TABLE_PRODUCTS . " p
      LEFT JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c ON p.products_id = p2c.products_id
      LEFT JOIN " . TABLE_MANUFACTURERS . " m ON p.manufacturers_id = m.manufacturers_id
      where p.products_status = 1 
      and m.manufacturers_id > 0
      and (p2c.categories_id = '" . (int)$current_category_id . "'" .$subkategorie_sql . ")" . "
      GROUP BY manufacturers_name order by m.manufacturers_name ";
    }
    $do_filter_list = false;
    $filterlist = $db->Execute($filterlist_sql);
    if ($filterlist->RecordCount() > 0) {
        $do_filter_list = true;
      if (isset($_GET['manufacturers_id'])) {
        $getoption_set =  true;
        $get_option_variable = 'manufacturers_id';
        $options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES));
      } else {
        $options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS));
      }
	$options[] = array('id' => ' ', 'text' => ' '); // prida prazdny radek za hlavicku

      while (!$filterlist->EOF) {
        $options[] = array('id' => $filterlist->fields['id'], 'text' => $filterlist->fields['name']);
        $filterlist->MoveNext();
      }
    }
  }

// Get the right image for the top-right
  $image = DIR_WS_TEMPLATE_IMAGES . 'table_background_list.gif';
  if (isset($_GET['manufacturers_id'])) {
    $sql = "select manufacturers_image
              from   " . TABLE_MANUFACTURERS . "
              where      manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "'";

    $image_name = $db->Execute($sql);
    $image = $image_name->fields['manufacturers_image'];

  } elseif ($current_category_id) {

    $sql = "select categories_image from " . TABLE_CATEGORIES . "
            where  categories_id = '" . (int)$current_category_id . "'";

    $image_name = $db->Execute($sql);
    $image = $image_name->fields['categories_image'];
  }
?>

Zasláno: 21:47 20.11.2009
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
16:36 17.1.2009
Skupina:
Registrovaní uživatelé
Příspěvky: 157
Nepřipojen
Dík, ale když sem tom nahodil tak vyběhla jen cela stranka chybovych hlášek o kategoriích. No zkusim to projit a porovnat a možna na něco dojdu.

Zasláno: 0:45 21.11.2009
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
10:42 1.8.2007
Skupina:
Registrovaní uživatelé
Příspěvky: 382
Nepřipojen
Citát:

boldrick napsal/a:
Dík, ale když sem tom nahodil tak vyběhla jen cela stranka chybovych hlášek o kategoriích. No zkusim to projit a porovnat a možna na něco dojdu.


Hmm, tak to pak už nevím. Je to přímo z mých obchodů kde vše bez problémů funguje.

Zasláno: 9:54 21.11.2009
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
16:36 17.1.2009
Skupina:
Registrovaní uživatelé
Příspěvky: 157
Nepřipojen
No tak jsem to procházel , ale máme tam asi oba dost zmen ( já tam např mám přidané třízení podle ceny

Nahrazeno

// sort by products_sort_order when PRODUCT_LISTING_DEFAULT_SORT_ORDER is left blank
// for reverse, descending order use:
// $listing_sql .= " order by p.products_sort_order desc, pd.products_name";
$listing_sql .= " order by p.products_sort_order, pd.products_name";
break;
}
}

za

// sort by products_sort_order when PRODUCT_LISTING_DEFAULT_SORT_ORDER is left blank
// for reverse, descending order use:
//$listing_sql .= " order by p.products_sort_order desc, pd.products_name";
//$listing_sql .= " order by p.products_sort_order, pd.products_name";

// bof: Sort-By
$listing_sql .= $order_by; // Sort-By
// eof: Sort-By

break;
}
}




- takže je vše jiné, zkoušel jsem upravit pár věcí podle tvého, ale bez úspěchu.

V příloze dávám svůj default_filter.php , když by jsis vzpoměl co jsi dělal za ty úpravy tak písni

Připojit soubor:


zip default_filter.zip Velikost: 2.41 KB; Hits: 73

Zasláno: 14:03 21.11.2009
Přenos příspěvku do ostatních aplikací Přenos


Re: Jak nastavit, aby se produkty kategorii zobrazily?
Guru
Členem od:
17:50 4.2.2006
Bydliště Černčice u Loun
Skupina:
Registrovaní uživatelé
Příspěvky: 183
Nepřipojen
Ahoj chlapi,
dal jsem to vsechno podle toho co se tu vsechno napsalo, ale funguje mi to jen v nekterych kategoriich, dokaze nekdo poradit proc tomu tak je?? Dal se mi nekde zobrazi filtr vyrobce, a nekde taky ne :O((

Diky za kazdou radu

Zasláno: 15:15 31.1.2010
_________________
www.pc-levne.cz
Přenos příspěvku do ostatních aplikací Přenos



« 1 2 3 4 (5) 6 »



Můžete prohlížet témata.
Nemůžete zakládat nová témata.
Nemůžete odpovídat na příspěvky.
Nemůžete editovat Vaše příspěvky.
Nemůžete mazat Vaše příspěvky.
Nemůžete přidávat nové ankety.
Můžete hlasovat v anketách.
Nemůžete připojovat soubory k příspěvkům.
Nemůžete přispívat bez schválení.

[Rozšířené hledání]


Odkazy



Zen-Cart ke stažení

Vyšel nový Zencart 1.5.0

Originální moduly můžete stahovat na
www.zen-cart.com

Reklama
Nejaktivnější autoři
1 Melodic
Melodic
1002997
2 Kozoroh
Kozoroh
2124
3 JardaR
JardaR
1888
4 garden
garden
1419
5 Nismo
Nismo
1389
6 hbxx 1131
7 jandik01
jandik01
1070
8 PeterB
PeterB
1017
9 Dedek
Dedek
990
10 bambulko
bambulko
775