Multiple select attribute





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







1















Im working on a sports e shop and some shoes belong to specific techs which i would like to be shown as images



like this:



enter image description here



I thought of creating a multi select attribute named techs and put values as shown below and create for each option a seperate cms block so that i would call many of these simultanously



View.phtml



<?php /* @var $this Mage_Catalog_Block_Product_View_Abstract */?>
<?php $_product = $this->getProduct() ?>


<?php echo $this->getChildHtml('product_type_data_extra') ?>
<?php echo $this->getPriceHtml($_product) ?>
<?php if ($this->displayProductStockStatus()): ?>
<?php if ($_product->isAvailable()): ?>
<p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
<?php else: ?>
<p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
<?php endif; ?>
<?php endif; ?>
<!-- Step 1 We need to add this to be able to get the attribute values -->
<?php
$_helper = $this->helper('catalog/output');
$_product = $this->getProduct()
?>
<!-- Step 2 Allow for techs attribute to display different images based on value of attribute -->
<?php if ($_product->getAttributeText('tech') == "Pulsor"): ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml() ?>

<?php elseif ($_product->getAttributeText('tech') == "Flexo"): ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml() ?>
<?php endif; ?>


However when i put 2 cms nothing is shown if i put one its ok










share|improve this question































    1















    Im working on a sports e shop and some shoes belong to specific techs which i would like to be shown as images



    like this:



    enter image description here



    I thought of creating a multi select attribute named techs and put values as shown below and create for each option a seperate cms block so that i would call many of these simultanously



    View.phtml



    <?php /* @var $this Mage_Catalog_Block_Product_View_Abstract */?>
    <?php $_product = $this->getProduct() ?>


    <?php echo $this->getChildHtml('product_type_data_extra') ?>
    <?php echo $this->getPriceHtml($_product) ?>
    <?php if ($this->displayProductStockStatus()): ?>
    <?php if ($_product->isAvailable()): ?>
    <p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
    <?php else: ?>
    <p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
    <?php endif; ?>
    <?php endif; ?>
    <!-- Step 1 We need to add this to be able to get the attribute values -->
    <?php
    $_helper = $this->helper('catalog/output');
    $_product = $this->getProduct()
    ?>
    <!-- Step 2 Allow for techs attribute to display different images based on value of attribute -->
    <?php if ($_product->getAttributeText('tech') == "Pulsor"): ?>
    <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml() ?>

    <?php elseif ($_product->getAttributeText('tech') == "Flexo"): ?>
    <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml() ?>
    <?php endif; ?>


    However when i put 2 cms nothing is shown if i put one its ok










    share|improve this question



























      1












      1








      1








      Im working on a sports e shop and some shoes belong to specific techs which i would like to be shown as images



      like this:



      enter image description here



      I thought of creating a multi select attribute named techs and put values as shown below and create for each option a seperate cms block so that i would call many of these simultanously



      View.phtml



      <?php /* @var $this Mage_Catalog_Block_Product_View_Abstract */?>
      <?php $_product = $this->getProduct() ?>


      <?php echo $this->getChildHtml('product_type_data_extra') ?>
      <?php echo $this->getPriceHtml($_product) ?>
      <?php if ($this->displayProductStockStatus()): ?>
      <?php if ($_product->isAvailable()): ?>
      <p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
      <?php else: ?>
      <p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
      <?php endif; ?>
      <?php endif; ?>
      <!-- Step 1 We need to add this to be able to get the attribute values -->
      <?php
      $_helper = $this->helper('catalog/output');
      $_product = $this->getProduct()
      ?>
      <!-- Step 2 Allow for techs attribute to display different images based on value of attribute -->
      <?php if ($_product->getAttributeText('tech') == "Pulsor"): ?>
      <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml() ?>

      <?php elseif ($_product->getAttributeText('tech') == "Flexo"): ?>
      <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml() ?>
      <?php endif; ?>


      However when i put 2 cms nothing is shown if i put one its ok










      share|improve this question
















      Im working on a sports e shop and some shoes belong to specific techs which i would like to be shown as images



      like this:



      enter image description here



      I thought of creating a multi select attribute named techs and put values as shown below and create for each option a seperate cms block so that i would call many of these simultanously



      View.phtml



      <?php /* @var $this Mage_Catalog_Block_Product_View_Abstract */?>
      <?php $_product = $this->getProduct() ?>


      <?php echo $this->getChildHtml('product_type_data_extra') ?>
      <?php echo $this->getPriceHtml($_product) ?>
      <?php if ($this->displayProductStockStatus()): ?>
      <?php if ($_product->isAvailable()): ?>
      <p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
      <?php else: ?>
      <p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
      <?php endif; ?>
      <?php endif; ?>
      <!-- Step 1 We need to add this to be able to get the attribute values -->
      <?php
      $_helper = $this->helper('catalog/output');
      $_product = $this->getProduct()
      ?>
      <!-- Step 2 Allow for techs attribute to display different images based on value of attribute -->
      <?php if ($_product->getAttributeText('tech') == "Pulsor"): ?>
      <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml() ?>

      <?php elseif ($_product->getAttributeText('tech') == "Flexo"): ?>
      <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml() ?>
      <?php endif; ?>


      However when i put 2 cms nothing is shown if i put one its ok







      product-attribute multiselect-attribute multiple






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 23 mins ago









      Muhammad Anas

      624320




      624320










      asked Feb 7 '17 at 15:01









      MarinosMarinos

      82




      82






















          2 Answers
          2






          active

          oldest

          votes


















          2














          You need to use it as an array



             $techTypes = explode(",",$_product->getResource() ->getAttribute('tech')->getFrontend() ->getValue($_product));
          foreach($techTypes as $key => $value){
          if ($_product->getAttributeText('tech') == "Pulsor"):
          echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml();

          elseif ($_product->getAttributeText('tech') == "Flexo"):
          echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml();
          endif;

          }





          share|improve this answer































            1














            I managed to do this without the use of cms blocks



            <!-- Display Product Tech Images -->


            <div class="techs">
            <div class="techs-title">
            <span><strong>Technology</strong></span>
            </div>
            <ul>
            <?php
            $multiSelectArray = $this->getProduct ()->getAttributeText('tech');
            $lastItem = end ($multiSelectArray);

            foreach ($multiSelectArray as $multiSelectItem) :?>

            <li>
            <a tabindex="0" role="button" title="" data-toggle="popover" data-trigger="hover" data-placement="top" data-original-title="<? echo $multiSelectItem; ?>">
            <img src="/media/wysiwyg/techs/<?php echo $multiSelectItem ?>.jpg"></img>
            <p class="tech-name"><? echo $multiSelectItem; ?></p>
            <div class="hidden popover-content">

            </div>
            </a>


            <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
            <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
            <script type="text/javascript">
            $(document).ready(function(){
            $.noConflict();
            $('[data-toggle="popover"]').popover();
            });
            </script>
            </li>

            <?php endforeach;?>

            </ul>

            </div>





            share|improve this answer


























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "479"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f158594%2fmultiple-select-attribute%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              You need to use it as an array



                 $techTypes = explode(",",$_product->getResource() ->getAttribute('tech')->getFrontend() ->getValue($_product));
              foreach($techTypes as $key => $value){
              if ($_product->getAttributeText('tech') == "Pulsor"):
              echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml();

              elseif ($_product->getAttributeText('tech') == "Flexo"):
              echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml();
              endif;

              }





              share|improve this answer




























                2














                You need to use it as an array



                   $techTypes = explode(",",$_product->getResource() ->getAttribute('tech')->getFrontend() ->getValue($_product));
                foreach($techTypes as $key => $value){
                if ($_product->getAttributeText('tech') == "Pulsor"):
                echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml();

                elseif ($_product->getAttributeText('tech') == "Flexo"):
                echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml();
                endif;

                }





                share|improve this answer


























                  2












                  2








                  2







                  You need to use it as an array



                     $techTypes = explode(",",$_product->getResource() ->getAttribute('tech')->getFrontend() ->getValue($_product));
                  foreach($techTypes as $key => $value){
                  if ($_product->getAttributeText('tech') == "Pulsor"):
                  echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml();

                  elseif ($_product->getAttributeText('tech') == "Flexo"):
                  echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml();
                  endif;

                  }





                  share|improve this answer













                  You need to use it as an array



                     $techTypes = explode(",",$_product->getResource() ->getAttribute('tech')->getFrontend() ->getValue($_product));
                  foreach($techTypes as $key => $value){
                  if ($_product->getAttributeText('tech') == "Pulsor"):
                  echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_pulsor')->toHtml();

                  elseif ($_product->getAttributeText('tech') == "Flexo"):
                  echo $this->getLayout()->createBlock('cms/block')->setBlockId('tech_flexo')->toHtml();
                  endif;

                  }






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Feb 7 '17 at 15:30









                  Jaimin SutariyaJaimin Sutariya

                  9,44322055




                  9,44322055

























                      1














                      I managed to do this without the use of cms blocks



                      <!-- Display Product Tech Images -->


                      <div class="techs">
                      <div class="techs-title">
                      <span><strong>Technology</strong></span>
                      </div>
                      <ul>
                      <?php
                      $multiSelectArray = $this->getProduct ()->getAttributeText('tech');
                      $lastItem = end ($multiSelectArray);

                      foreach ($multiSelectArray as $multiSelectItem) :?>

                      <li>
                      <a tabindex="0" role="button" title="" data-toggle="popover" data-trigger="hover" data-placement="top" data-original-title="<? echo $multiSelectItem; ?>">
                      <img src="/media/wysiwyg/techs/<?php echo $multiSelectItem ?>.jpg"></img>
                      <p class="tech-name"><? echo $multiSelectItem; ?></p>
                      <div class="hidden popover-content">

                      </div>
                      </a>


                      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
                      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
                      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
                      <script type="text/javascript">
                      $(document).ready(function(){
                      $.noConflict();
                      $('[data-toggle="popover"]').popover();
                      });
                      </script>
                      </li>

                      <?php endforeach;?>

                      </ul>

                      </div>





                      share|improve this answer






























                        1














                        I managed to do this without the use of cms blocks



                        <!-- Display Product Tech Images -->


                        <div class="techs">
                        <div class="techs-title">
                        <span><strong>Technology</strong></span>
                        </div>
                        <ul>
                        <?php
                        $multiSelectArray = $this->getProduct ()->getAttributeText('tech');
                        $lastItem = end ($multiSelectArray);

                        foreach ($multiSelectArray as $multiSelectItem) :?>

                        <li>
                        <a tabindex="0" role="button" title="" data-toggle="popover" data-trigger="hover" data-placement="top" data-original-title="<? echo $multiSelectItem; ?>">
                        <img src="/media/wysiwyg/techs/<?php echo $multiSelectItem ?>.jpg"></img>
                        <p class="tech-name"><? echo $multiSelectItem; ?></p>
                        <div class="hidden popover-content">

                        </div>
                        </a>


                        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
                        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
                        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
                        <script type="text/javascript">
                        $(document).ready(function(){
                        $.noConflict();
                        $('[data-toggle="popover"]').popover();
                        });
                        </script>
                        </li>

                        <?php endforeach;?>

                        </ul>

                        </div>





                        share|improve this answer




























                          1












                          1








                          1







                          I managed to do this without the use of cms blocks



                          <!-- Display Product Tech Images -->


                          <div class="techs">
                          <div class="techs-title">
                          <span><strong>Technology</strong></span>
                          </div>
                          <ul>
                          <?php
                          $multiSelectArray = $this->getProduct ()->getAttributeText('tech');
                          $lastItem = end ($multiSelectArray);

                          foreach ($multiSelectArray as $multiSelectItem) :?>

                          <li>
                          <a tabindex="0" role="button" title="" data-toggle="popover" data-trigger="hover" data-placement="top" data-original-title="<? echo $multiSelectItem; ?>">
                          <img src="/media/wysiwyg/techs/<?php echo $multiSelectItem ?>.jpg"></img>
                          <p class="tech-name"><? echo $multiSelectItem; ?></p>
                          <div class="hidden popover-content">

                          </div>
                          </a>


                          <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
                          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
                          <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
                          <script type="text/javascript">
                          $(document).ready(function(){
                          $.noConflict();
                          $('[data-toggle="popover"]').popover();
                          });
                          </script>
                          </li>

                          <?php endforeach;?>

                          </ul>

                          </div>





                          share|improve this answer















                          I managed to do this without the use of cms blocks



                          <!-- Display Product Tech Images -->


                          <div class="techs">
                          <div class="techs-title">
                          <span><strong>Technology</strong></span>
                          </div>
                          <ul>
                          <?php
                          $multiSelectArray = $this->getProduct ()->getAttributeText('tech');
                          $lastItem = end ($multiSelectArray);

                          foreach ($multiSelectArray as $multiSelectItem) :?>

                          <li>
                          <a tabindex="0" role="button" title="" data-toggle="popover" data-trigger="hover" data-placement="top" data-original-title="<? echo $multiSelectItem; ?>">
                          <img src="/media/wysiwyg/techs/<?php echo $multiSelectItem ?>.jpg"></img>
                          <p class="tech-name"><? echo $multiSelectItem; ?></p>
                          <div class="hidden popover-content">

                          </div>
                          </a>


                          <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
                          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
                          <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
                          <script type="text/javascript">
                          $(document).ready(function(){
                          $.noConflict();
                          $('[data-toggle="popover"]').popover();
                          });
                          </script>
                          </li>

                          <?php endforeach;?>

                          </ul>

                          </div>






                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Feb 8 '17 at 7:45









                          7ochem

                          5,85493768




                          5,85493768










                          answered Feb 8 '17 at 5:38









                          MarinosMarinos

                          113




                          113






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Magento Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f158594%2fmultiple-select-attribute%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              What other Star Trek series did the main TNG cast show up in?

                              Berlina muro

                              Berlina aerponto