Jump to content

Pobranie wartości $product->reference


bestek

Recommended Posts

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 by bestek (see edit history)
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...