co to jest pojemnik1 i pojemnik2 na stronie widoku produktu w magento

10

Muszę wiedzieć, co to jest pojemnik1 i pojemnik2 na stronie widoku produktu Magento. mówię o pliku view.phtmlw lokalizacjiapp/design/frontend/<package>/<theme>/catalog/product/view.phtml

pytanie upadate:

Zadałem to pytanie, ponieważ ... Dowiedziałem się, że te sekcje są odpowiedzialne za wyświetlanie opcji na stronie widoku produktu.

Mój problem polega na tym, że mam produkt z 3 pakietami i chcę wyświetlić niestandardowe opcje we własnym pliku phtml. Mam te kody ze sobą ..

<?php
$id=Mage::getModel('catalog/product')->getIdBySku(123456);
$prod = Mage::getModel('catalog/product')->load($id);
$x=$prod->getOptions();
foreach($x as $y)
 {
echo $y->getTitle();
print_r($y->getValues());
}
?>

Muszę przeprowadzić produkt przez sku. Właśnie dlatego tak zakodowałem. Teraz poprawnie otrzymuję tytuł. ale wartości się nie wyświetlają. (uwaga: dodałem dwie opcje rozwijane jako opcje niestandardowe)

Z góry dziękuję.

Rajeev K Tomy
źródło
Jak poszedłeś z tym @rajeevktomy?
jharrison.au

Odpowiedzi:

28

Dotyczą one pozycji, w której wyświetlane są opcje niestandardowe produktu.

Zobacz app/code/core/Mage/Catalog/etc/config.xml:

<design>
    <options_container>
        <option1 translate="label">
            <value>container1</value>
            <label>Product Info Column</label>
        </option1>
        <option2 translate="label">
            <value>container2</value>
            <label>Block after Info Column</label>
        </option2>
    </options_container>
</design>

Tutaj możesz zobaczyć, że container1odnosi się to do „Kolumny informacji o produkcie”, podczas gdy kontener2 to „Blokuj po kolumnie informacji”. Te wartości opisują, gdzie niestandardowe opcje będą wyświetlane na stronie widoku produktu. Możesz ustawić te wartości podczas edycji produktu w Administratorze Magento w zakładce Projekt.

Bloki układu są zdefiniowane w app/design/frontend/base/default/layout/catalog.xml:

 <block type="core/template_facade" name="product.info.container1" as="container1">
    <action method="setDataByKey"><key>alias_in_layout</key><value>container1</value></action>
    <action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action>
    <action method="append"><block>product.info.options.wrapper</block></action>
    <action method="append"><block>product.info.options.wrapper.bottom</block></action>
</block>
<block type="core/template_facade" name="product.info.container2" as="container2">
    <action method="setDataByKey"><key>alias_in_layout</key><value>container2</value></action>
    <action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action>
    <action method="append"><block>product.info.options.wrapper</block></action>
    <action method="append"><block>product.info.options.wrapper.bottom</block></action>
</block>

I app/design/frontend/base/default/template/catalog/product/view.phtmlzobaczysz dwa połączenia:

<?php echo $this->getChildChildHtml('container1', '', true, true) ?>
i
<?php echo $this->getChildChildHtml('container2', '', true, true) ?>

jharrison.au
źródło
1
przepraszam, zapomniałem to zaakceptować :-)
Rajeev K Tomy
-4

Możesz edytować plik phtml, przejdź do poniższej ścieżki do aplikacji / design / frontend / themename / default / template / catalog / product / info / container2.p‌ html LUB jeśli jest to aplikacja produktu do pobrania / design / frontend / themename / default / template /catalog/downloadable/catalog/product/links.phtml

vairakkani
źródło