bestek Posted October 20, 2015 Share Posted October 20, 2015 (edited) Witam Proszę o pomoc bo już mi się skończyły pomysły na rozwiązanie tego problemu. Opiszę wszystko jak najprościej potrafię. w pliku ProductController.php dodałem wpis który otwiera plik .csv (zamieszczony gdzieś na innym serwerze) i sczytuje dane do tabeli [x][y][z] tworząc bazę. Są to stany magazynowe u producenta. /** * Assign template vars related to page content * @see FrontController::initContent() */ public function initContent() { ... // Assign attribute groups to the template $this->assignAttributesGroups(); // Assign attributes combinations to the template $this->assignAttributesCombinations(); //mój kod $row = 1; $uchwyt = fopen ('http://www.hkm-sportsequipment.eu/web/Verfuegbarkeiten/verfuegbar2.csv','r');//uchwyt do pliku $tab1[$rozmiar][$ile]=array(); $x=0; while (($data = fgetcsv($uchwyt, 1000, ";")) !== FALSE) { $num = count($data); $row++; //rozmiar $tab1[$x][0]=$data[3]; //ilość na magazynie HKM if ($data[2]==1) { $tab1[$x][1] =$data[4]; } elseif ($data[2]==0) { $tab1[$x][1] ='brak towaru'; } //kod produktu $tab1[$x][2] =$data[0]; $x=$x+1; } echo "Import danych HKM:wykonano!"; fclose ($uchwyt);//zamknięcie pliku $this->context->smarty->assign('tab1', $tab1); // koniec mojego kodu // Pack management $pack_items = $this->product->cache_is_pack ? Pack::getItemTable($this->product->id, $this->context->language->id, true) : array(); $this->context->smarty->assign('packItems', $pack_items); $this->context->smarty->assign('packs', Pack::getPacksTable($this->product->id, $this->context->language->id, true, 1)); .... Następnie w pliku z lokalizacji //themes/leomobi/product.tpl dodaję wpis tworzący tabelkę w której znajdują dostępne produktu na magazynie producenta. <!-- number of item in stock --> ... <p id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}> <label>{l s='Reference:'} </label> <span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span> 'mój kod <table border="2"> <TR align="center"><TD colspan="3">HKM</TD></TR> <TR><TH>ROZMIAR</TH><TH>NA MAGAZYNIE</TH></TR> {section name=customer loop=count($tab1)} {if $tab1[customer][2]==$product->reference} <TR><TD>{$tab1[customer][0]}</TD><TD>{$tab1[customer][1]}</TD></TR> {/if} {/section} </table> </p> Wszystko działa jeżeli produkt posiada INDEKS w zakładce Informacja - wtedy kod działa poprawnie https://drive.google.com/open?id=0B2CPLnl9Lp_GeFBIZXBTOFVWeDg Problem pojawia się gdy dany produkt posiada warianty np. kolorystyczny. Wtedy każdy wariant posiada własny kod INDEKS w zakładce "Kombinacje atrybutów". https://drive.google.com/open?id=0B2CPLnl9Lp_GT2phUkVlR2E3eWc I tu jest problem bo wyżej zamieszczony kod nie działa. Pomocy jak pobrać wartość $product->reference po wybraniu odpowiedniego wariantu kolorystycznego w listy rozwijalnej (combobox). Siedzę przy tym już 3 dni i skończyły mi się pomysły. Edited October 20, 2015 by bestek (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now