На суд уважаемого сообщества, маленький хак.
Вывод в карточке товара, информации о доставке в модальном окне.
UPD: в хак внесены существенные изменения.
файл /components/com_joomshopping/templates/you_template/product/product_default.php
Строки:
<?php if ($this->config->show_plus_shipping_in_product){?>
<span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
<?php }?>
Заменяем на
<?php if ($this->config->show_plus_shipping_in_product){?>
<?php JHTML::_('behavior.modal'); ?>
<script>
window.addEvent('domready', function() {
// Decorate the shipping window to use a modal.
$$('a.modal').each(function(a){
a.setProperty('rel', '{size: {x: 700, y: 500}, handler: "iframe"}');
if (a.getProperty('href').contains('?')) {
a.setProperty('href', a.getProperty('href')+'&tmpl=component');
} else {
a.setProperty('href', a.getProperty('href')+'?tmpl=component');
}
});
});
</script>
<span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
<?php }?>
Маленькое лирическое отступление. Разработчики компонента, непонятно зачем, вынесли формирование ссылки на доставку в языковые файлы, поэтому или каждый должен править свой языковой файл или все имеющиеся. Это по желанию.
Так вот. В языковом файле ищем строку
define('_JSHOP_PLUS_SHIPPING', 'plus <a href="%s" target="_blank">shipping</a>');
и заменяем ее на
define('_JSHOP_PLUS_SHIPPING', 'plus <a class="modal" href="%s" >shipping</a>');
Пример из английского языкового файла.
З.Ы. rel="{size: {x: 700, y: 500} - это размеры модального окна, ширина и высота. Меняйте как Вам кажется удобнее и привлекательнее.
З.З.Ы. Если в новых версиях что-то изменится в формировании ссылки. Напишу апдейт
З.З.З.Ы. Тестировалось на Joomla 2.5 & JoomShopping 3.4.2
Всем спасибо за внимание.
Обновление хака.
Если Вы хотите чтобы в списке товаров, информация о доставке так же выводилась во всплывающем окне - добавьте строчку
<?php JHTML::_('behavior.modal'); ?>
<script>
window.addEvent('domready', function() {
// Decorate the shipping window to use a modal.
$$('a.modal').each(function(a){
a.setProperty('rel', '{size: {x: 700, y: 500}, handler: "iframe"}');
if (a.getProperty('href').contains('?')) {
a.setProperty('href', a.getProperty('href')+'&tmpl=component');
} else {
a.setProperty('href', a.getProperty('href')+'?tmpl=component');
}
});
});
</script>
<span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
в самый верх файла /components/com_joomshopping/templates/you_template/list_product/list_products.php