Alle Atributen in Beschreibung anzeigen

      Alle Atributen in Beschreibung anzeigen

      Hallo Leute, ich habe eine Frage, wie mache ich so, dass die Attributen zusammen mit Beschreibung angezeigt werden. Momentan werden alle, von mir angelegte Attributen, als Zusatzinformation angezeigt, weiß jemand wie man das ändern lässt.
      Hallo Wilhelm,

      Attribute an anderer Stelle aufrufen, ist kein Problem, solange diese im Code verbaut werden können. Ich habe beispielsweise ein individuelles Attribut "Lieferzeit" erstellt, um oben auf der Artikelseite die Lieferzeit individuell aufzeigen zu können. Der Code dafür sieht wie folgt aus:

      PHP-Quellcode

      1. <?php $_product = $this->getProduct() ?>
      2. <?php if($_product->isSaleable()): ?>
      3. <p class="availability"><?php echo $this->__('Availability: In stock.') ?></p>
      4. <?php else: ?>
      5. <p class="availability"><?php echo $this->__('Availability: Out of stock.') ?></p>
      6. <?php endif; ?>
      7. <!-- Eingefügter Code Anfang -->
      8. <p class="availability">
      9. <?php echo "Lieferzeit: ";
      10. echo $_product->getAttributeText('lieferzeit') ?></p>
      11. <!-- Eingefügter Code Ende -->
      12. <?php echo $this->getPriceHtml($_product) ?>


      Das beantwortet Deine Frage aber nur teilweise, denn Du willst die Attribute ja in der Beschreibung aufrufen. Hier ist mir leider keine Methode bekannt, da dieser Aufruf in der Beschreibung leider nicht funktioniert.


      Gruß
      Ingo

      Ingo schrieb:

      Hallo Wilhelm,


      Das beantwortet Deine Frage aber nur teilweise, denn Du willst die Attribute ja in der Beschreibung aufrufen. Hier ist mir leider keine Methode bekannt, da dieser Aufruf in der Beschreibung leider nicht funktioniert.


      Gruß
      Ingo

      Danke Ingo ich werde probieren. Kann man vieleicht so machen z.B. wenn der Kunde auf Produktseite landet, dass er zuerst zusatzinformation sieht und dann wenn er möchte Beschreibung?
      Ja, das geht. Die Aufrufe der beiden Blöcke müssen einfach getauscht werden.

      Folgende Datei muss abgeändert werden:

      Quellcode

      1. frontend/default/default/template/catalog/product/view.phtml
      Folgende Blöcke müssen im Aufruf getauscht werden:

      Quellcode

      1. Mage_Catalog_Block_Product_View_Description
      2. Mage_Catalog_Block_Product_View_Attributes

      Gruß
      Ingo

      Ingo schrieb:

      Ja, das geht. Die Aufrufe der beiden Blöcke müssen einfach getauscht werden.

      Folgende Datei muss abgeändert werden:

      Quellcode

      1. frontend/default/default/template/catalog/product/view.phtml
      Folgende Blöcke müssen im Aufruf getauscht werden:

      Quellcode

      1. Mage_Catalog_Block_Product_View_Description
      2. Mage_Catalog_Block_Product_View_Attributes

      Gruß
      Ingo

      Ich habe nur das
      /**
      * Product view template
      *
      * @see Mage_Catalog_Block_Product_View
      * @see Mage_Review_Block_Product_View
      */

      mehr gibt es nichts enliches :(

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Wilhelm“ ()

      Stimmt aber doch :)

      Hier ist meine view.phtml, liegt genau in dem Pfad, den ich benannt hatte:

      PHP-Quellcode

      1. <?php
      2. /**
      3. * Magento
      4. *
      5. * NOTICE OF LICENSE
      6. *
      7. * This source file is subject to the Academic Free License (AFL 3.0)
      8. * that is bundled with this package in the file LICENSE_AFL.txt.
      9. * It is also available through the world-wide-web at this URL:
      10. * http://opensource.org/licenses/afl-3.0.php
      11. * If you did not receive a copy of the license and are unable to
      12. * obtain it through the world-wide-web, please send an email
      13. * to license@magentocommerce.com so we can send you a copy immediately.
      14. *
      15. * DISCLAIMER
      16. *
      17. * Do not edit or add to this file if you wish to upgrade Magento to newer
      18. * versions in the future. If you wish to customize Magento for your
      19. * needs please refer to http://www.magentocommerce.com for more information.
      20. *
      21. * @category design_default
      22. * @package Mage
      23. * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
      24. * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
      25. */
      26. /**
      27. * Product view template
      28. *
      29. * @see Mage_Catalog_Block_Product_View
      30. * @see Mage_Review_Block_Product_View
      31. */
      32. ?>
      33. <?php
      34. $_helper = $this->helper('catalog/output');
      35. $_product = $this->getProduct();
      36. ?>
      37. <script type="text/javascript">
      38. var optionsPrice = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>);
      39. </script>
      40. <div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
      41. <div class="product-info-box">
      42. <div class="product-essential">
      43. <form action="<?php echo $this->getAddToCartUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
      44. <div class="product-img-box">
      45. <?php echo $this->getChildHtml('media') ?>
      46. </div>
      47. <div class="product-shop">
      48. <h3 class="product-name">
      49. <?php echo $_helper->productAttribute($_product, $this->htmlEscape($_product->getName()), 'name') ?>
      50. </h3>
      51. <?php if ($this->canEmailToFriend()): ?>
      52. <a href="<?php echo $this->helper('catalog/product')->getEmailToFriendUrl($_product) ?>"><?php echo $this->__('Email to a Friend') ?></a><br />
      53. <?php endif; ?>
      54. <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
      55. <fieldset class="no-display">
      56. <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
      57. <input type="hidden" name="related_product" id="related-products-field" value="" />
      58. </fieldset>
      59. <?php echo $this->getChildHtml('alert_urls') ?>
      60. <?php echo $this->getChildHtml('product_type_data') ?>
      61. <?php echo $this->getTierPriceHtml() ?>
      62. <?php if (!$this->hasOptions()):?>
      63. <div class="add-to-holder">
      64. <?php if($_product->isSaleable()): ?>
      65. <?php echo $this->getChildHtml('addtocart') ?>
      66. <?php if( $this->helper('wishlist')->isAllow() || $_compareUrl=$this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
      67. <span class="add-or"><?php echo $this->__('OR') ?></span>
      68. <?php endif; ?>
      69. <?php endif; ?>
      70. <?php echo $this->getChildHtml('addto') ?>
      71. </div>
      72. <?php else:?>
      73. <?php echo $this->getChildHtml('addto') ?>
      74. <?php endif; ?>
      75. <div class="divider"></div>
      76. <?php if ($_product->getShortDescription()):?>
      77. <h4><?php echo $this->__('Quick Overview') ?></h4>
      78. <div class="short-description"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
      79. <?php endif;?>
      80. <?php echo $this->getChildHtml('other');?>
      81. <?php if ($_product->isSaleable() && $this->hasOptions()):?>
      82. <?php echo $this->getChildChildHtml('container1', '', true, true) ?>
      83. <?php endif;?>
      84. </div>
      85. <div class="clear"></div>
      86. <?php if ($_product->isSaleable() && $this->hasOptions()):?>
      87. <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
      88. <?php endif;?>
      89. </form>
      90. <script type="text/javascript">
      91. var productAddToCartForm = new VarienForm('product_addtocart_form');
      92. productAddToCartForm.submit = function(){
      93. if (this.validator.validate()) {
      94. this.form.submit();
      95. }
      96. }.bind(productAddToCartForm);
      97. </script>
      98. </div>
      99. <div class="product-collateral">
      100. <?php if ($_description = $this->getChildHtml('description')):?>
      101. <div class="collateral-box">
      102. <div class="head">
      103. <h4><?php echo $this->__('Product Description') ?></h4>
      104. </div>
      105. <?php echo $_description ?>
      106. </div>
      107. <?php endif;?>
      108. <?php if ($_additional = $this->getChildHtml('additional')):?>
      109. <div class="collateral-box">
      110. <div class="head">
      111. <h4><?php echo $this->__('Additional Information') ?></h4>
      112. </div>
      113. <?php echo $_additional ?>
      114. </div>
      115. <?php endif;?>
      116. <?php echo $this->getChildHtml('upsell_products') ?>
      117. <?php echo $this->getChildHtml('product_additional_data') ?>
      118. </div>
      119. </div>
      Du musst einfach relativ weit unten in der Datei folgendem Code

      Quellcode

      1. <div class="product-collateral">
      die Aufrufe tauschen. Das sieht danach dann so aus:

      PHP-Quellcode

      1. <div class="product-collateral">
      2. <?php if ($_additional = $this->getChildHtml('additional')):?>
      3. <div class="collateral-box">
      4. <div class="head">
      5. <h4><?php echo $this->__('Additional Information') ?></h4>
      6. </div>
      7. <?php echo $_additional ?>
      8. </div>
      9. <?php endif;?>
      10. <?php if ($_description = $this->getChildHtml('description')):?>
      11. <div class="collateral-box">
      12. <div class="head">
      13. <h4><?php echo $this->__('Product Description') ?></h4>
      14. </div>
      15. <?php echo $_description ?>
      16. </div>
      17. <?php endif;?>
      18. <?php echo $this->getChildHtml('upsell_products') ?>
      19. <?php echo $this->getChildHtml('product_additional_data') ?>
      20. </div>
      Habs eben bei meinem Shop getestet, funktioniert einwandfrei.

      Allerdings bezieht sich die Änderung auf das Theme default und darauf aufbauende individuelle Themes. Bei einem anderen Interface muss die view.phtml entsprechend ausgewählt werden. Falls die view.phtml nicht in default ist, dann kurz nachschauen, ob sie im individuellen Theme hinterlegt ist.


      Gruß
      Ingo

      Ingo schrieb:

      Stimmt aber doch :)



      Allerdings bezieht sich die Änderung auf das Theme default und darauf aufbauende individuelle Themes. Bei einem anderen Interface muss die view.phtml entsprechend ausgewählt werden. Falls die view.phtml nicht in default ist, dann kurz nachschauen, ob sie im individuellen Theme hinterlegt ist.


      Gruß
      Ingo

      In Default view.phtml habe ich genau wie bei dir gemacht, aber keine Änderungen. Ich habe eine gekaufte Theme und bei mir sieht view.phtml so aus

      HTML-Quellcode

      1. <?php
      2. /**
      3. * Magento
      4. *
      5. * NOTICE OF LICENSE
      6. *
      7. * This source file is subject to the Academic Free License (AFL 3.0)
      8. * that is bundled with this package in the file LICENSE_AFL.txt.
      9. * It is also available through the world-wide-web at this URL:
      10. * http://opensource.org/licenses/afl-3.0.php
      11. * If you did not receive a copy of the license and are unable to
      12. * obtain it through the world-wide-web, please send an email
      13. * to license@magentocommerce.com so we can send you a copy immediately.
      14. *
      15. * DISCLAIMER
      16. *
      17. * Do not edit or add to this file if you wish to upgrade Magento to newer
      18. * versions in the future. If you wish to customize Magento for your
      19. * needs please refer to http://www.magentocommerce.com for more information.
      20. *
      21. * @category design_default
      22. * @package Mage
      23. * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
      24. * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
      25. */
      26. /**
      27. * Product view template
      28. *
      29. * @see Mage_Catalog_Block_Product_View
      30. * @see Mage_Review_Block_Product_View
      31. */
      32. ?>
      33. <?php
      34. $_helper = $this->helper('catalog/output');
      35. $_product = $this->getProduct()
      36. ?>
      37. <div class="padder">
      38. <script type="text/javascript">
      39. var optionsPrice = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>);
      40. </script>
      41. <div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
      42. <form action="<?php echo $this->getAddToCartUrl($_product) ?>" method="post" id="product_addtocart_form">
      43. <div class="product-img-box">
      44. <?php echo $this->getChildHtml('media') ?>
      45. </div>
      46. <div class="product-info-box">
      47. <h3 class="product-name"><?php echo $_helper->productAttribute($_product, $this->htmlEscape($_product->getName()), 'name') ?></h3>
      48. <?php if ($this->canEmailToFriend()): ?>
      49. <a href="<?php echo $this->helper('catalog/product')->getEmailToFriendUrl($_product) ?>"><?php echo $this->__('Email to a Friend') ?></a><br />
      50. <?php endif; ?>
      51. <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
      52. <fieldset class="no-display">
      53. <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
      54. <input type="hidden" name="related_product" id="related-products-field" value="" />
      55. </fieldset>
      56. <?php echo $this->getChildHtml('alert_urls') ?>
      57. <?php echo $this->getChildHtml('product_type_data') ?>
      58. <?php echo $this->getChildHtml('tierprices') ?>
      59. <?php if (!$this->hasOptions()):?>
      60. <div class="add-to-boxes">
      61. <?php if($_product->isSaleable()): ?>
      62. <?php echo $this->getChildHtml('addtocart') ?>
      63. <?php endif; ?>
      64. <?php echo $this->getChildHtml('addto') ?>
      65. </div>
      66. <?php else:?>
      67. <?php echo $this->getChildHtml('addto') ?>
      68. <?php endif; ?>
      69. <?php if ($_product->getShortDescription()):?>
      70. <h4 class="border-head"><?php echo $this->__('Quick Overview') ?></h4>
      71. <div class="short-description"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
      72. <?php endif;?>
      73. <?php echo $this->getChildHtml('other');?>
      74. <?php if ($_product->isSaleable() && $this->hasOptions()):?>
      75. <?php echo $this->getChildChildHtml('container1', '', true, true) ?>
      76. <?php endif; ?>
      77. </div>
      78. <div class="clear"></div>
      79. <?php if ($_product->isSaleable() && $this->hasOptions()):?>
      80. <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
      81. <?php endif; ?>
      82. </form>
      83. <script type="text/javascript">
      84. //<![CDATA[
      85. var productAddToCartForm = new VarienForm('product_addtocart_form');
      86. productAddToCartForm.submit = function() {
      87. if(this.validator.validate()) {
      88. this.form.submit();
      89. }
      90. }.bind(productAddToCartForm);
      91. //]]>
      92. </script>
      93. </div>
      94. <br /><br />
      95. <?php echo $this->getChildHtml('info_tabs') ?>

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Wilhelm“ ()

      Wäre hilfreich gewesen, wenn Du das gleich geschrieben hättest.

      Egal, Du solltest hier den Autoren Deines Themes kontaktieren und ihn bitten, das Theme entsprechend Deinen Anforderungen zu ändern. Tipps, die wir hier geben können (zumindest von mir), können sich immer nur auf die Standards beziehen, weil wir natürlich bei individuellen Änderungen und eigenen Themes nicht wissen können, was wie und wo geändert wurde. Auch bei Dir wird es ja nicht nur die view.phtml sein, die anders gecodet ist.

      Sorry, aber hier kann ich wirklich nicht mehr helfen, dafür reichen meine Code-Kenntnisse nicht mehr aus.


      Gruß
      Ingo

      Ingo schrieb:

      Wäre hilfreich gewesen, wenn Du das gleich geschrieben hättest.

      Egal, Du solltest hier den Autoren Deines Themes kontaktieren und ihn bitten, das Theme entsprechend Deinen Anforderungen zu ändern. Tipps, die wir hier geben können (zumindest von mir), können sich immer nur auf die Standards beziehen, weil wir natürlich bei individuellen Änderungen und eigenen Themes nicht wissen können, was wie und wo geändert wurde. Auch bei Dir wird es ja nicht nur die view.phtml sein, die anders gecodet ist.

      Sorry, aber hier kann ich wirklich nicht mehr helfen, dafür reichen meine Code-Kenntnisse nicht mehr aus.


      Gruß
      Ingo

      Trotzdem Danke dir!!
      Die Zusatzinformationen werden hier generiert:

      PHP-Quellcode

      1. <?php echo $this->getChildHtml('info_tabs') ?>


      Du müsstest eine Datei "info_tabs.phtml" im gleichen oder einem Unterorder haben. In dieser Datei befindet sich der Code, den du brauchst um die Attribute auszulesen und anzuzeigen.
      Magento Hosting | Cloud Server | Shopware Hosting | Elasticsearch Hosting
      Unsere Hosting-Lösungen nutzen ultraschnelle SSDs und sind jederzeit skalierbar.

      rack::SPEED schrieb:

      Die Zusatzinformationen werden hier generiert:

      PHP-Quellcode

      1. <?php echo $this->getChildHtml('info_tabs') ?>


      Du müsstest eine Datei "info_tabs.phtml" im gleichen oder einem Unterorder haben. In dieser Datei befindet sich der Code, den du brauchst um die Attribute auszulesen und anzuzeigen.


      Ich habe eine "tabs.phtml" gefunden, vielleicht ist das richtige ?

      HTML-Quellcode

      1. <?php
      2. /**
      3. * Magento
      4. *
      5. * NOTICE OF LICENSE
      6. *
      7. * This source file is subject to the Academic Free License (AFL 3.0)
      8. * that is bundled with this package in the file LICENSE_AFL.txt.
      9. * It is also available through the world-wide-web at this URL:
      10. * http://opensource.org/licenses/afl-3.0.php
      11. * If you did not receive a copy of the license and are unable to
      12. * obtain it through the world-wide-web, please send an email
      13. * to license@magentocommerce.com so we can send you a copy immediately.
      14. *
      15. * DISCLAIMER
      16. *
      17. * Do not edit or add to this file if you wish to upgrade Magento to newer
      18. * versions in the future. If you wish to customize Magento for your
      19. * needs please refer to http://www.magentocommerce.com for more information.
      20. *
      21. * @category design_default
      22. * @package Mage
      23. * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
      24. * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
      25. */
      26. /**
      27. * Product view template
      28. *
      29. * @see Mage_Catalog_Block_Product_View
      30. */
      31. ?>
      32. <ul class="tabs">
      33. <?php foreach ($this->getTabs() as $_index => $_tab): ?>
      34. <?php if($this->getChildHtml($_tab['alias'])): ?>
      35. <li id="product_tabs_<?php echo $_tab['alias'] ?>" <?php echo !$_index ? 'class="active first"' : '' ?>><a href="#"><?php echo $_tab['title']?></a></li>
      36. <?php endif; ?>
      37. <?php endforeach; ?>
      38. </ul>
      39. <div class="padder">
      40. <?php foreach ($this->getTabs() as $_index => $_tab): ?>
      41. <?php if($this->getChildHtml($_tab['alias'])): ?>
      42. <div id="product_tabs_<?php echo $_tab['alias'] ?>_contents"><?php echo $this->getChildHtml($_tab['alias']) ?></div>
      43. <?php endif; ?>
      44. <?php endforeach; ?>
      45. </div>
      46. <script type="text/javascript">
      47. Varien.Tabs = Class.create();
      48. Varien.Tabs.prototype = {
      49. initialize: function(selector) {
      50. var self=this;
      51. $$(selector+' a').each(this.initTab.bind(this));
      52. },
      53. initTab: function(el) {
      54. el.href = 'javascript:void(0)';
      55. if ($(el.parentNode).hasClassName('active')) {
      56. this.showContent(el);
      57. }
      58. el.observe('click', this.showContent.bind(this, el));
      59. },
      60. showContent: function(a) {
      61. var li = $(a.parentNode), ul = $(li.parentNode);
      62. ul.getElementsBySelector('li', 'ol').each(function(el){
      63. var contents = $(el.id+'_contents');
      64. if (el==li) {
      65. el.addClassName('active');
      66. contents.show();
      67. } else {
      68. el.removeClassName('active');
      69. contents.hide();
      70. }
      71. });
      72. }
      73. }
      74. new Varien.Tabs('.tabs');
      75. </script>

      Attribute der verknüpften Produkte anzeigen lassen

      Hallo, ich möchte mir in einem gruppierten Produkt die Attribute/Zusatzinformationen der verknüpften Produkte anzeigen lassen. Diese möchte ich dann in der Tabelle die generiert wird anzeigen lassen. Bis jetzt habe ich es geschafft mir die SKU der verknüpften Produkte anzeigen zu lassen, so wie es im Tutorial zu den gruppierten Produkten zu sehen ist.

      PHP-Quellcode

      1. <td><?php echo $_item->getSku() ?></td>


      Ich möchte das sich die Attribute wie bei der Funktion der Zusatzinformationen automatisch aufbauen und ich nicht jedes einzelne Attribut aufrufen muß, da ich ca. 150 Attribute habe die häufig nicht gebraucht werden und somit NULL zurückgeben.
      Hat jemand eine Idee ob das möglich ist?

      Sonnige Grüße

      Holger

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „holger“ ()

      Hallo Ingo,

      wenn ich einfüge:

      <p class="availability">
      <?php echo "Lieferzeit: ";
      echo $_product->getAttributeText('lieferzeit') ?></p>

      kriege ich folgende Fehlermeldeung:

      Fatal error: Call to a member function getAttributeText() on a non-object in .../app/design/frontend/default/cleanspring/template/productalert/stock.phtml on line 32

      Eine Idee?

      holger schrieb:

      Hallo, ich möchte mir in einem gruppierten Produkt die Attribute/Zusatzinformationen der verknüpften Produkte anzeigen lassen. Diese möchte ich dann in der Tabelle die generiert wird anzeigen lassen. Bis jetzt habe ich es geschafft mir die SKU der verknüpften Produkte anzeigen zu lassen, so wie es im Tutorial zu den gruppierten Produkten zu sehen ist.

      PHP-Quellcode

      1. <td><?php echo $_item->getSku() ?></td>


      Ich möchte das sich die Attribute wie bei der Funktion der Zusatzinformationen automatisch aufbauen und ich nicht jedes einzelne Attribut aufrufen muß, da ich ca. 150 Attribute habe die häufig nicht gebraucht werden und somit NULL zurückgeben.
      Hat jemand eine Idee ob das möglich ist?

      Sonnige Grüße

      Holger



      Hallo Holger,

      ich möchte dass in der Tabellenansicht der grouped produkte eine Spalte mit dem Attribut "Größe" angezeigt wird. komme nicht drauf wie ich es realisieren könnte. Kannst du mir auf die Sprünge helfen??