Virtuemart - jak zobrazit, že je produkt skladem?

Vladimír
03. led 2019 09:09 #138509
Dobrý den,
rozhodl jsem se poprosit chytřejší hlavy než jsem já, jestli by mě někdo neporadil. Upozorňuju, že nejsem žádný velký programátor a o PHP vím úplné nic.

Potřebuji v kartě produktu zobrazit Dostupnost zboží. Ideálně aby mi tam svítilo Skladem nebo Není na skladě. Při nedostupnosti zboží mám nastaveno, že tlačítko Přidat do košíku se změní na Upozornit a nedovolí zákazníkovi produkt objednat.

Návod jsem našel na webu tady Virtuemart 3.0.8: jak zobrazovat dostupnost, i když je zboží skladem a postupoval podle něj.
Pracuju v šabloně Horme 3 pro VirtueMart.

Upravil jsem stockhadle.php bez problémů, ale mám problém kam umístit vyvolání do šablony detailu produktu default.php.
echo shopFunctionsF::renderVmSubLayout('stockhandle',array('product'=>$this->product));
Tato část kódu tam bohužel je, ale funguje pouze pokud nastavím v nastavení Virtuemartu "Výrobky nejsou skladem, lze je objednat, a pole 'dostupnost' se zobrazí".
V případě nastavení "Zobrazuje 'Upozornit' místo tlačítka 'Přidat do košíku" tak se mi zdá, že kód vůbec neproběhne.

Neporadí mi někdo, kam bych měl umístit uvedené echo, aby se mi Dostupnost zboží zobrazila vždy resp. při nastavení "Zobrazuje 'Upozornit' místo tlačítka 'Přidat do košíku"?
Budu vděčný za jakýkoliv názor nebo pomoc.
Předem moc děkuju.
Vladimír

Tady přikládám část PHP, kam by se měl vložit uvedený kód:
<div class="vm-product-details-container col-md-5">

        <div class="spacer-buy-area">
          <div class="row">
            <?php

            echo shopFunctionsF::renderVmSubLayout('rating',array('showRating'=>$this->showRating,'product'=>$this->product));

            if ( VmConfig::get ('display_stock', 1)) { ?>
            <div class="text-right col-md-4 col-xs-4 pull-right">
                   <span class="vmicon vm2-<?php echo $stockinfo->stock_level; ?> glyphicon glyphicon-signal hasTooltip" title="<?php echo $stockinfo->stock_tip; ?>"></span>
            </div>
                <?php } ?>
          </div>
          <?php
          // Manufacturer of the Product
          if (VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) {
            echo $this->loadTemplate('manufacturer');
          }
          ?>
          <hr>
        <?php
          // Product Short Description
          if (!empty($this->product->product_s_desc)) {
          ?>
          <div class="product-short-description small well well-sm">
          <?php
          echo nl2br($this->product->product_s_desc);
          ?>
          </div>
          <?php
          } // Product Short Description END

          echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$this->product,'currency'=>$this->currency));

          echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$this->product));

          echo shopFunctionsF::renderVmSubLayout('stockhandle',array('product'=>$this->product));
        
        if (!empty($this->productDisplayTypes)) {
            echo '<hr>';
          }

               foreach ($this->productDisplayTypes as $type=>$productDisplayType) {

                  foreach ($productDisplayType as $productDisplay) {

                     foreach ($productDisplay as $virtuemart_method_id =>$productDisplayHtml) {
                        ?>
                        <div class="<?php echo substr($type, 0, -1) ?> <?php echo substr($type, 0, -1).'-'.$virtuemart_method_id ?> small text-muted">
                           <?php
                           echo $productDisplayHtml;
                           ?>
                        </div>
                        <?php
                     }
                  }
               }

          // PDF - Print - Email Icon
          $askquestion_url = JRoute::_('index.php?option=com_virtuemart&view=productdetails&task=askquestion&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id . '&tmpl=component', FALSE);
          if ( VmConfig::get('show_emailfriend') || VmConfig::get('show_printicon') || VmConfig::get('pdf_icon') || VmConfig::get('ask_question') ) {
          ?>
          <hr>
          <div class="icons btn-group btn-group-xs btn-group-justified">
             <?php
             $link = 'index.php?tmpl=component&option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->virtuemart_product_id;
             $MailLink = 'index.php?option=com_virtuemart&view=productdetails&task=recommend&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id . '&tmpl=component';
             if (VmConfig::get('pdf_icon')) {
             ?>
             <a class="btn btn-default hasTooltip" href="<?php echo $link . '&format=pdf';?>" title="<?php echo vmText::_('COM_VIRTUEMART_PDF')?>">
               <span class="glyphicon glyphicon-file"></span>
             </a>
             <?php
             }

             if (VmConfig::get('show_printicon')) {
             ?>
             <a class="btn btn-default printModal hasTooltip" href="<?php echo $link . '&print=1';?>" title="<?php echo vmText::_('COM_VIRTUEMART_PRINT')?>">
               <span class="glyphicon glyphicon-print"></span>
             </a>
             <?php
             }

             if (VmConfig::get('show_emailfriend')) {
             ?>
             <a class="iframe-src btn btn-default hasTooltip" href="#form-collapse-anchor" data-href="<?php echo $MailLink;?>" title="<?php echo vmText::_('COM_VIRTUEMART_EMAIL')?>">
               <span class="glyphicon glyphicon-envelope"></span>
             </a>
             <?php
             }

             if (VmConfig::get('ask_question')) {
             ?>
             <a class="iframe-src btn btn-default hasTooltip" href="#form-collapse-anchor" data-href="<?php echo $askquestion_url ?>" title="<?php echo vmText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL') ?>">
               <span class="glyphicon glyphicon-question-sign"></span>
             </a>
             <?php
             }
             ?>
               </div>
        <?php
            }
            ?>
       </div>

    </div>

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
03. led 2019 19:04 - 03. led 2019 19:06 #138516
pokud vůbec neznáte ani minimum z HTML a PHP, požádejte někoho, kdo má čas, ať vám to za nějaký peníz upraví.
Uvědomte si, že ten návod je z roku 2015 a to již bude vše jinak.
Poděkovali: Vladimír

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Vladimír
03. led 2019 21:52 #138524
Ne že bych neuměl vůbec nic, ale nejsem profík. I tak jsem pochopil, že to kód není aktuální a je mnohem složitější.
Máte úplnou pravdu. Díky za reakci.
V.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
04. led 2019 08:43 #138531
Souhlasím s Ernstem.

Umístění echa Vám nepomůže. Echo jen zobrazí další sublayout ve kterém jsou další funkce a ty závisí na nastavení v administraci, takže se Vám proto zádné informace nezobrazí.

Je třeba aby někdo programátor rozuměl jaké funkce to jsou a jak fungují a pak je možné v tomto sublayoutu udělat nějaké úpravy na míru

MiniJoomla! - www.minijoomla.org - eshop s rozšířením
Virtuemart Mailing Manager - aplikace na správu šablon emailů pro VirtueMart
XML Easy Feeder - aplikace na generování feedů, napojení na ERP pro VirtueMart
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla!
Poděkovali: Vladimír

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.