Я пытаюсь загрузить блок представления продукта на странице списка категорий с помощью AJAX, используя Ajaxify . Все работает нормально, единственная проблема заключается в том, что окно параметров (childhtml "container1") загружается неправильно. Это не показывает варианты.
У кого-нибудь есть опыт с этим, может, пробовал что-то подобное? Я установил активный продукт в контроллере, используя
$productId = (int) $this->getRequest()->getParam('product_id');
Mage::helper('catalog/product')->initProduct($productId, $this);
перед рендерингом макета.
Я думаю, что это как-то связано с тем, что параметры добавляются в представление в другой части 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>
[...]
но я не уверен, что именно проблема.
Я надеюсь, что кто-то может указать мне правильное направление.
С уважением, Сандер Мангель
ce-1.7.0.2
ajax
Сандер Мангель
источник
источник
Ответы:
В прошлом у нас была похожая проблема при попытке ввести всплывающее окно быстрого просмотра на странице списка категорий. Вот несколько проблем, с которыми мы столкнулись:
/js/varien/product.js
&/js/varien/configurable.js
не включены на странице списка категорий по умолчанию, которые необходимы для создания настраиваемых выпадающих списков. Встроенный JS ниже требует этого.Еще одна проблема, возникшая у нас, заключалась в том, что при попытке включить более одной из них на страницу у нас возникали проблемы с дублирующимися идентификаторами, в любом случае это может не относиться к вам, но убедитесь, что если у вас их несколько, вы уничтожаете их при закрытии.
Мы сделали это путем создания пустого файла контроллера, который позволяет нам использовать уникальный дескриптор макета, например, ''. Который вы можете использовать следующий XML.
Это означало, что мы могли бы включать соответствующие блоки и настраивать определенные аспекты обычной страницы продукта.
Мы также добавили это в дескриптор, чтобы включить необходимые файлы JS.
Наш файл response.phtml также выглядит так
Надеюсь, это поможет пролить некоторый свет на то, где вы идете не так
источник
Проблема в том, что опции добавляются через JavaScript, а не как HTML в каталог / product / view / type / options / configurable.html:
Кажется, ваш Ajax-скрипт заменяет HTML, но не выполняет в нем JS. Вы должны выполнить эту часть вручную, но есть несколько способов сделать это:
источник
Я смог продвинуться только с принятым здесь ответом. Чтобы заставить вещи работать с модальностью Twitter Bootstrap, мне нужно было использовать Prototype для загрузки настраиваемого продукта и настроить его для запуска скриптов на возвращаемой странице:
Кроме того, когда я закрыл свой модал, мне нужно было полностью очистить содержимое:
Я не предоставил здесь полного решения, так как теперь, когда я нашел, что происходит, мне нужно реорганизовать мой контроллер и заполнить шаблон для моих продуктов, чтобы он возвращал аккуратный заголовок и т. Д. Для работы с Twitter Bootstrap Modal. Однако, следуя приведенным ниже советам, должно быть легко загрузить ваш продукт и запустить прилагаемый javascript, чтобы заставить его контент работать правильно. Нет необходимости добавлять product.js и т. Д. На страницу вашей категории.
источник