Saya mencoba memuat blok tampilan produk di halaman daftar kategori dengan AJAX menggunakan Ajaxify . Semuanya berfungsi dengan baik satu-satunya masalah adalah bahwa kotak opsi (childhtml "container1") tidak dimuat dengan benar. Itu tidak menunjukkan opsi.
Adakah yang punya pengalaman dengan ini, mungkin mencoba sesuatu seperti ini? Saya mengatur produk aktif di controller menggunakan
$productId = (int) $this->getRequest()->getParam('product_id');
Mage::helper('catalog/product')->initProduct($productId, $this);
sebelum merender tata letak.
Saya pikir itu ada hubungannya dengan fakta bahwa opsi ditambahkan ke tampilan di bagian lain dari catalog.xml
[...]
<PRODUCT_TYPE_configurable translate="label" module="catalog">
<label>Catalog Product View (Configurable)</label>
<reference name="product.info">
<block type="catalog/product_view_type_configurable" name="product.info.configurable" as="product_type_data" template="catalog/product/view/type/default.phtml">
<block type="core/text_list" name="product.info.configurable.extra" as="product_type_data_extra" translate="label">
<label>Product Extra Info</label>
</block>
</block>
</reference>
<reference name="product.info.options.wrapper">
<block type="catalog/product_view_type_configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="catalog/product/view/type/options/configurable.phtml"/>
</reference>
</PRODUCT_TYPE_configurable>
[...]
tapi saya tidak yakin apa masalah tepatnya.
Saya harap seseorang dapat mengarahkan saya ke arah yang benar.
Salam, Sander Mangel
ce-1.7.0.2
ajax
Sander Mangel
sumber
sumber
Jawaban:
Kami memiliki masalah serupa di masa lalu ketika mencoba memperkenalkan tampilan cepat popup ke halaman daftar kategori. Berikut adalah beberapa masalah yang kami temui: -
/js/varien/product.js
&/js/varien/configurable.js
tidak disertakan pada halaman daftar kategori secara default yang diperlukan untuk menghasilkan dropdown yang dapat dikonfigurasi. JS sebaris di bawah ini membutuhkan ini.Masalah lain yang kami miliki adalah ketika mencoba memasukkan lebih dari satu dari ini per halaman, kami mendapatkan masalah dengan duplikat ID, dalam hal apapun ini mungkin tidak berlaku untuk diri Anda sendiri tetapi pastikan jika Anda memiliki beberapa Anda menghancurkannya ketika ditutup.
Cara kami telah melakukan ini adalah dengan membuat file pengontrol kosong yang memungkinkan kami untuk menggunakan pegangan tata letak yang unik misalnya ''. Yang dapat Anda gunakan xml berikut.
Ini berarti kami dapat menyertakan blok yang relevan dan menyesuaikan aspek-aspek tertentu dari halaman produk reguler.
Kami juga menambahkan ini ke pegangan untuk menyertakan file JS yang diperlukan.
File response.phtml kami juga terlihat seperti itu
Semoga itu bisa membantu menjelaskan di mana kesalahan Anda
sumber
Masalahnya, bahwa opsi ditambahkan melalui JavaScript dan bukan sebagai HTML dalam katalog / produk / tampilan / tipe / opsi / konfigurasi.html:
Skrip Ajax Anda sepertinya menggantikan HTML, tetapi tidak mengeksekusi JS di dalamnya. Anda harus menjalankan bagian itu secara manual, tetapi ada beberapa cara untuk melakukan ini:
sumber
Saya hanya bisa sejauh ini dengan jawaban yang diterima yang disediakan di sini. Agar semuanya berfungsi dengan modal Bootstrap Twitter, saya perlu menggunakan Prototipe untuk memuat produk yang dapat dikonfigurasi dan mengaturnya untuk menjalankan skrip di halaman yang dikembalikan:
Lebih lanjut, ketika saya menutup modal saya, saya harus benar-benar menghapus isinya:
Saya belum memberikan solusi lengkap di sini karena, sekarang saya telah menemukan apa yang terjadi, saya perlu memperbaiki controller saya dan menyelesaikan template untuk produk saya sehingga mengembalikan header yang rapi dll. Untuk bekerja dengan Modal Bootstrap Twitter. Namun, dengan saran berikut ini, mudah memuat produk Anda dan menjalankan javascript yang menyertainya agar kontennya berfungsi dengan benar. Tidak perlu menambahkan product.js dll ke halaman kategori Anda.
sumber