Polskie wsparcie PrestaShop

PrestaShop => Moduły => Wątek zaczęty przez: sh0tek w Listopad 12, 2009, 12:33:43 pm

Tytuł: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 12, 2009, 12:33:43 pm
Witam.

Czy można tak zrobić aby dla różnych produktów były różne dodatkowe zakładki?
kurtki miały zakładkę rozmiar na której był by opis jak wybierać rozmiar kurtek i podobnie dla rekawiczek tylko z innym opisem jak dobrac rozmair itd ;p

W sumie extratabs otwiera plik html, nie wiem czy można to zmienić na php i jakoś pobierać nazwę produktu :D lub adres strony i wtedy na podstawie tych danych wyswietlalo by odpowiednie informacje ;d

Mam nadzieje że da się to zrobić w jakiś prosty sposbó :D
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 12, 2009, 01:41:22 pm
zalezy co potrafisz jesli chodzi o php
mozesz do tego uzyc zarowno zewnetrznych plikow ktore beda includowane w zaleznosci od pewnych warunkow albo np odpowiednio psreparowanego opisu kategorii o ile te informacje beda przypisane do kategorii
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 12, 2009, 01:45:02 pm
no cos tam o php wiem ;))

w sumie pomysl z zewnetrznymi plikami ktore beda includowane wydaje sie przyjazny i prosty :)) zaraz pokombinuje


a odpowiednio spreparowany opis kategori ? co przez to rozumiesz :D jak mialo by to działać ?

Ja w sumie chce to mieć jako osobna zakładka, także mogę swobodnie zmienić extras na 'jak wybrac rozmiar' i tam opcja z includowaniem
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 12, 2009, 03:19:49 pm
jak ja to widze - np meta z kategorii w bazie danych o ile kategoria byla by tozsama z tym jak beda przydzielane informacje dodatkowe

najprostsze rozwiazanie, które ogarniesz w smarty to include w zaleznosci od ....
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 12, 2009, 03:23:19 pm
hm już pobrałem adres z urla i wyciągłem z niego numer id
teraz tylko sprawdzanie w której grupie jest ten id, zrobie to chyba najgłubszym sposobem czyli walne te numery do pliku kurtki.txt i 'if' sprawdzi czy dany numer jest w pliku kurtki.txt czy spodnie.txt wstawiając odpowiedni opis :))

może i głupie ale działa :D
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 12, 2009, 06:40:13 pm
Czy ja dobrze czytam ze chcesz zrobic array w pliku text ze wszystkimi ID i tam przypisac do ID co ma byc includowane ?

To nie latwiej podbrac kategorie (rozumiem ze kurtki i spodnie to rozne kategorie) z bazy i ciagnac w zaleznosci od kategorii ? W smartach to zrobisz bez dotykania phpa ...
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 12, 2009, 06:48:46 pm
Moze inaczej ...

Ja czesto uzywam "flag". Uzyj jednego z pol w karcie produktu (np lokalizacja) wpisujac tam K dla kurtek czy S dla spodni.

Potem spokojnie w smarty wyciągniesz ta wartosc i w zaleznosci od wartosci mozesz inkludowac szablony.
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 09:02:44 am
hm no okej :) twoje rozwiązanie brzmi mądrze i pomysłowo :) jakby coś odezwe sie jak mi idzie bo coś czuje że nie będzie lekko :))
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 10:19:13 am
w sumie masz racje ze kurtki i spodnie to rozne kategorie :D ale jak je pobrać ;D?  i w sumie musze to wstawic w extratabs.tpl ... zeby wyswietlalo się to własnie tam :))

{$category->name}
gdzy wchodzę przez item z modulu karuzeli pisze mi główna
Gdy wchodzę do kategori męzczyzna mam i spodnie i kurtki i tu mam znów problem :)) bo gdy jestem w mezczyzna i wybieram jakis przedmiot to potem pisze category-name mezczyzna, gdy wejde bezposrednio w dzial spodnie czy cos jest ok... ale z glownego menu i tak nie rozpoznaje :))

mam rzeczy w roznych kategoriach dlatego pojawiają się problemy, kurtki są w  Męzczyzna i w Meżczyzna>Lato , Męzczyzna>Kurtki

;) chyba pokombinuje z moim sposobem na plikach
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 13, 2009, 10:30:05 am
;) mozesz uzyc sciezki "breadcrumb", ale to rozwiazanie bedzie skuteczne tylko jesli produkt masz w 1 kategorii.

Lepiej uzyj pola z flagą - spokojnie je wywolasz potem w karcie produktu ;)
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 10:32:45 am
hm w sumie ... a mozesz mi rozjaśnić jak wywołać te pole lokalizacja ? :) bo błądzę
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 13, 2009, 11:16:20 am
plik product.php i templates/../product.tpl

ify w szablonie sa dosc jasne
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 11:47:58 am
no cos czuje ze wymysle zaraz inne rozwiązanie, myslałem że mogę pobrać tą lokalizację jak zwykłą zmienną, coś w stylu {$category->name}

przeglądałem nawet część pliku z panelu admina w którym się dodaje ten atrybut .$this->getFieldValue($obj, 'location'). to pobiera go z formularza

utknołem bo nie wiem jak go pobrać, czy on standardowo jest pod jakąś zmienna ? jeśli tak to jaką ;))
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 13, 2009, 11:59:33 am
Lokalizacja jest pod zmienna location, odwolujesz sie do niej tak samo jak do innych. Zajrzyj do bazy i pilkow jakie podalem wyzej.
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 12:14:14 pm
no heh do tego doszedłem, ale nie ma jej ani pod $product->location ani pod niczym innym, szedlem tropem z plików, myślałem że może to $obj a nie $product

w pliku product.tpl nie ma ani razu 'location' w product.php tez nie ma ani jednego... wiec nie wiem :))

sory ze ci tak głowę zawracam ale dopiero poznaje prestashop
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 13, 2009, 12:25:20 pm
ba, musisz w product.php pobrac wartosc zmiennej i przypisac ja do szablonu
jak nie wiesz jak to zrobic - uzyj czegos co juz jest przypisane
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 01:00:01 pm
w product.php mogę się sugerować np weight ?

w sumie weight dotyczy tylko
$combinations[$row['id_product_attribute']]['location'] = floatval($row['location']);
tylko ze w product.tpl juz nie ma ani jednego weight ;d **** **** **** ****

przerasta mnie to wszystko ;))))


albo ecotax... myslalem tez o tym
$productPriceWithoutEcoTax = floatval($productPriceWithTax - $product->ecotax);

to już bardziej przypomina to czego szukam chyba ale nie rozumiem w jaki sposob miał bym to pobrac ?
      $tax_datas = Db::getInstance()->getRow('
      SELECT p.`id_tax`, t.`rate`
      FROM `'._DB_PREFIX_.'product` p
      LEFT JOIN `'._DB_PREFIX_.'tax` AS t ON t.`id_tax` = p.`id_tax`
      WHERE p.`id_product` = '.intval($product->id));
      $tax = floatval(Tax::getApplicableTax(intval($tax_datas['id_tax']), floatval($tax_datas['rate'])));

Miał bym połączyć się z DB i pobrać z location pewnie ? czy dalej błądze

Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 13, 2009, 01:42:24 pm
tak na szybko- nie mam czasu na testy

lokalizacja produktu powinna byc dostepna przez $product->location,

przypisanie wartosci do  zmiennej moze byc gdzies w okolicach

$productPriceWithoutEcoTax = floatval($productPriceWithTax - $product->ecotax);

czyli $lokalizacja =  $product->location;

zrob echo czy pobiera i jak pobiera to przypisanie do smarty

$smarty->assign('lokalizacja', $lokalizacja);

albo krocej

$smarty->assign('lokalizacja', $product->location);

i uzyj {lokalizacja}

albo w samych smartach

{$product->location}

daj znac czy to chodzi bo w sumie to raczej przemyslenia jak gotowy kod ;)
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 01:56:16 pm
jak dla mnie to raczej gotowy kod, w product.php zwraca mi pieknie lokalizacje

teraz musze to w tpl wcisnąć ;)

dzięki wielkie za pomoc masz u mnie piwo jak będziesz w okolicach Katowic :D
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 02:09:13 pm
hm pytanie :D bo w produt.tpl gdy wstawiam {$product->location} jest ok, pokazuje mi co chce... ale ja bym chciał mieć to samo w tabContents.tpl

Zawartośc tego pliku
<link rel="stylesheet" href="{$base_dir}modules/extratabs/extratabs.css" />
<script language="javascript" type="text/javascript" src="{$base_dir}modules/extratabs/js/TabSwitcher.js"></script>
<div id="msTabHolder">
<div id="msTabHolder_tabs"></div>
<div id="msTabHolder_contents"></div>{$product->location}
</div>
<script language="javascript">
   TabSwitcher.init("{$ms_tabs}", "{$base_dir}modules/extratabs/");
</script>

i niestety tutaj cisza, nic się nie pokazuje... nie powiniene na początku pliku czegoś sprecyzować ? okreslic ? zeby zaczelo dzialac :D ?
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: Paweł Sokołowski w Listopad 13, 2009, 02:15:19 pm
nie znam tego modulu, ale analogiczne zmiany w php powinny pomoc

poglowkuj nieco

albo nie uzywaj modulu tylko includuj od razu w product.tpl - to powinienes ogarnac jakims ifem
Tytuł: Odp: extratabs rózne zakładki
Wiadomość wysłana przez: sh0tek w Listopad 13, 2009, 02:23:28 pm
extratabs.php

jak tu wpakuje gdziekolwiek magiczny kod $lokalizacja =  $product->location;
to wszystko się wysypuje...

Bo ja w sumie dąze do tego żeby na zakładne extratabs wyświetlała mi się informacja o produkcie, i wlasnie w tym extratabs muszę ostatecznie mieć tą 'lokalizacje'

Potrafisz mi powiedzieć czemu to nie gra gdy wstawiam ten kod ? czego mu tu brakuje... :D

Pomysle moze rozwiąze to jakos inaczej jeszcze, wlasnie wpadlem na pomysl...
<?php

class extraTabs extends Module
{
   function __construct()
   {
      $this->name = 'extratabs';
      $this->tab = 'Products';
      $this->version = 1.0;

      parent::__construct(); // The parent construct is required for translations

      $this->page = basename(__FILE__, '.php');
      $this->displayName = $this->l('Extra Tabs');
      $this->description = $this->l('Adds tabs on product page.
(www.marghoobsuleman.com | www.giftlelo.com)');
   }
      
   function install()
   {
        if (parent::install() == false
            OR $this->registerHook('productTab') == false
            OR $this->registerHook('productTabContent') == false)
         return (false);
      return (true);
   }


   public function getContent()
   {
      $output = '<h2>'.$this->displayName.'</h2>';
      if (Tools::isSubmit('submitextraTabs'))
      {
         $tabpages = Tools::getValue('tabpages');
         if ($tabpages != 0 AND $tabpages != 1)
            $output .= '<div class="alert error">'.$this->l('tabpages : Invalid choice.').'</div>';
         else
         {
            Configuration::updateValue('PS_TAB_PAGES', $tabpages);
         }
            $output .= '<div class="conf confirm"><img src="../img/admin/ok.gif" alt="'.$this->l('Confirmation').'" />'.$this->l('Settings updated').'</div>';
      }
      
      return $output.$this->displayForm();
   }

   public function displayForm()
   {
      return '
      <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
         <fieldset>
            <legend><img src="'.$this->_path.'logo.gif" alt="" title="" />'.$this->l('Settings').'</legend>
            <label>'.$this->l('Enter titles and pages').'</label>
            <div class="margin-form">
               <input size="100" type="text" name="tabpages"  value="'.(Tools::getValue('tabpages', Configuration::get('PS_TAB_PAGES'))).'" />
               <p class="clear">'.$this->l('Enter title, file name in above text field. use semicolon as a separator if you are using more than one file.
e.g. Sizing Chart,content1.html;Make a request,content2.html').'</p>
            </div>
            <center><input type="submit" name="submitextraTabs" value="'.$this->l('Save').'" class="button" /></center>
         </fieldset>
      </form>';
   }

   /**
   * Returns module content
   *
   * @param array $params Parameters
   * @return string Content
   */
   
   function hookProductTab($params)
   {
      global $smarty;
      //$smarty->assign('ms_tabs', intval(Configuration::get('PS_TAB_PAGES')));
      return $this->display(__FILE__, 'tab.tpl');
   }
    public function hookProductTabContent($params)
    {
      global $smarty;
      $smarty->assign('ms_tabs', Configuration::get('PS_TAB_PAGES'));
      return ($this->display(__FILE__, '/tabContents.tpl'));
   }   

}

?>