Jump to content

Vlastnosti do kategorie


Creator13

Recommended Posts

Zaujimalo by ma, ako dostat vlastnosti jednotlivych produktov (napr. velkosti S, M, L) do casti kategorie.... Napr. kliknem na cast "Svetre", pod ktorou budu zobrazene vsetky druhy svetrov a tam by sa ku kazdemu produktu okrem nazvu a ceny zobrazili aj jednotlive dostupne velkosti... popis produktov sa mi tam uz podarilo dostat, ale s dostupnymi velkostami mam problem a jednoducho neviem ako na to... dakujem, za kazdy nazor.

Link to comment
Share on other sites

Product-list attributes module

Taky jsem tuhle otázku před pár hodinama postnul a mezitím jsem hledal řešení. Dobádal jsem se až k tomuhle. Z toho vyvozuju, že nikdo ti na tuhle otázku neodpoví, protože je na to placený modul. Kdyby tady byla taková odpověď, tak bych byl taky moc rád. Je tady ale jeden thread jak tam dostat výběr barev: výběr barev který ti možná pomůže v tom, jak naprogramovat zobrazení těch atributů.
Link to comment
Share on other sites

Tak uvod som uz urobil...vypisuje to vsetky vlastnosti....ale je problem, ze som zatial nedokazal sortovat jednotlive vlastnosti, takze mi pri kazdom predmete vypise komplet vsetky atributy, ktore su pre danu kategoriu (napr. sveter 1 .... velkost S, M, L, XL, XXL --- sveter 2 ...velkost S, M, L, XL, XXL --- pritom by som potreboval len --- sveter 1 .... velkost S --- sveter 2 ... velkost L, XL)... bude tam pravdepodobne chybat iba jedna podmienka, ktora by to snad vsetko uviedla na spravnu mieru, zial tu som zatial nezvladol urobit.

takze tu su aktualne kody

product-list.tpl


           {foreach from=$groups key=id_attribute_group item=group}


{$group.name|escape:'htmlall':'UTF-8'} :


{foreach from=$group.attributes key=id_attribute item=group_attribute}
{$group_attribute|escape:'htmlall':'UTF-8'}, 
{/foreach}
               {assign var='groupName' value='group_'|cat:$id_attribute_group}


           {/foreach}



category.php (vlozit na riadok 61)

                     /* Attributes / Groups & colors */
foreach ( $cat_products as $key => $cat_product ) {
$product = new Product ( intval ( $cat_product[ 'id_product' ] ), true , intval ( $cookie -> id_lang ));
$colors = array();
$attributesGroups = $product -> getAttributesGroups ( intval ( $cookie -> id_lang ));
if ( Db :: getInstance ()-> numRows ())
{
foreach ( $attributesGroups AS $k => $row )
{

       $groups[$row['id_attribute_group']]['attributes'][$row['id_attribute']] = $row['attribute_name'];
               $groups[$row['id_attribute_group']]['name'] = $row['public_group_name'];


               if ($row['default_on'])
                   $groups[$row['id_attribute_group']]['default'] = intval($row['id_attribute']);
               if (!isset($groups[$row['id_attribute_group']]['attributes_quantity'][$row['id_attribute']]))
                   $groups[$row['id_attribute_group']]['attributes_quantity'][$row['id_attribute']] = 0;
               $groups[$row['id_attribute_group']]['attributes_quantity'][$row['id_attribute']] += intval($row['quantity']);


           }
           //wash attributes list (if some attributes are unavailables and if allowed to wash it)
           if (Configuration::get('PS_DISP_UNAVAILABLE_ATTR') == 0)
               foreach ($groups AS &$group)
                   foreach ($group['attributes_quantity'] AS $key => &$quantity)
                       if (!$quantity)
                           unset($group['attributes'][$key]);

           foreach ($combinations AS $id_product_attribute => $comb)
           {
               $attributeList = '';
               foreach ($comb['attributes'] AS $id_attribute)
                   $attributeList .= '\''.intval($id_attribute).'\',';
               $attributeList = rtrim($attributeList, ',');
               $combinations[$id_product_attribute]['list'] = $attributeList;
           }

}

}
    $smarty->assign(array(
               'groups' => $groups,
               'combinaisons' => $combinations, /* Kept for compatibility purpose only */
               'combinations' => $combinations,
               'colors' => (sizeof($colors) AND $product->id_color_default) ? $colors : false,
               'combinationImages' => $combinationImages));






takze by sa na to mohol teraz pozriet niekto druhy a dokoncit zacatu pracu...

Link to comment
Share on other sites

Funguje to asi takto :
1. obrazok je kategoria "notebooky" - zobrazi tam pre kazdy produkt uplne vsetky vlastnosti, ktore obsahuje aspon jeden predmet v danej kategorii

2. obrazok je kategoria "mobilne telefony" - tu tiez zobrazi len tie vlastnosti, ktore su pouzite v danej kategorii...

rozdiel je vidiet v tom, ze "notebooky" obsahuju navyse vlastnost "procesor"

38647_PvBf4PLryAwYXyE2aUuE_t

38648_G7EwNmGwEI2sI7tesFmz_t

Link to comment
Share on other sites

V category.php pod

$colors = array();

přidej

$groups = array();

a ola, funguje to. Přesně tak, jak bych si to představoval.


Jediný problém je v tom (docela zásadní problém), že když vybereš ty atributy přímo v tom category view, tak ten košík je ignoruje, ale snažím se na tom zapracovat.

Link to comment
Share on other sites

http://www.prestashop.com/forums/viewthread/92207/configuring___using_prestashop/attributes_in_category_view__solved

Tady jsem poslal post, ve kterém popisuju přesně jak jsem postupoval a takhle mi to funguje. Tak to zkus udělat podle toho a mělo by to jet. Zkoušel jsem to na nove instanci prestashopu úplně od začátku udělat přesně tohle co je v tom postupu a fungovalo to.
Link to comment
Share on other sites

Divné, mě to funguje i s tím, jakou chybu ti to dělalo když si to tam měl? Ještě to není dobrá práce, protože ta zásadní věc chybí. Sice se nám to zobrazuje, ale košík ingoruje ty vlastnosti, takže to je třeba vyřešit. Přišel jsem na to, že když vyberu jiný atribut, tak se spustí javascriptová funkce findCombination, která je v souboru product.js (theme/_your_theme_/js/), která ale nefunguje, když ji zaincluduju do hlavičky od category.php. Je to třeba nějak vyřešit, jinak můžeme celou dosavadní práci zabalit.

Link to comment
Share on other sites

Mne to prakticky nespustilo celu stranku...nezobrazilo mi produkty, ked som to vytiahol, tak mi to islo vsetko spravne...jedna chyba je, ze len na localhoste, ked som to hodil na server, tak mi to zobrazuje uplne zle, takze to budem musiet znovu preluskat...

Mne osobne by to stacilo potialto mat urobene...nechcem aby si to ludia hadzali priamo z tej stranky do kosika, zatial mi to tam staci mat informacne, aby videli, ktore velkosti su v ponuke...snad to dotiahnem...

Co sa tyka toho findCombination, tak to bude podla mna treba vlozit to product-list.tpl

nieco na tento styl


                   {foreach from=$group.attributes key=id_attribute item=group_attribute}
{$group_attribute|escape:'htmlall':'UTF-8'}
                   {/foreach}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...