часто в мой почтовый ящик сваливаются письма с заголовком "ваш модуль не работает".
когда я выясняю в чем проблема, оказывается что проблема вовсе не в моём дополнении, а в каких-то других факторах, с этим сталкивается любой разработчик, вот об этом я и хотел бы рассказать.
90% проблема в теме, которую использует покупатель
темо-создателей больше волнует кросс-платформенность своих работ, чем совместимость с другими дополнениями. ну это понятно, пользователи первым делом устанавливают понравившуюся тему, затем наращивают функционал дополнениями. тут я могу долго приводить примеры, когда криэйоры полностью переписывают html, но никаких форумов не хватит.
справедливости ради, беру код из тех же версий
default
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
metroshop
<div class="link-cart" onclick="addToCart('<?php echo $product['product_id']; ?>');"><?php echo $button_cart; ?></div>
что мешало автору оставить тот же код, но изменить стили? зачем переписывать html и терять совместимость?
если кто видел модуль Intelligent Product Labels, у него vqmod xml очень длинный. потому как автор постоянно добавляет правила для каждой новой темы или дополнения
или вот ещё
<?php $counter = 0; foreach ($products as $product) {
if (($counter+3) %3 == 0) $xclass="span-first-child";
else $xclass=""; ?>
<div class="span <?php echo $xclass; ?>">
тоже самое можно реализовать, добавить строчку кода в js функцию display, но в этом случае останется совместимость.
$(".product-" + view +" > div.span:nth-child(3n+1)").addClass("span-first-child");
вообще с помощью display можно как угодно вертеть выводом товаров без потери совместимости.
кроме как не знанием движка я не могу объяснить зачем темо-писатели вырезают функционал.
так например в одних темах встречал когда вырезают подключение сторонних js скриптов или css файлов
<?php foreach ($styles as $style) { ?>
<link rel="<?php echo $style['rel']; ?>" type="text/css" href="<?php echo $style['href']; ?>" media="<?php echo $style['media']; ?>" />
<?php } ?>
...
<?php foreach ($scripts as $script) { ?>
<script type="text/javascript" src="<?php echo $script; ?>"></script>
<?php } ?>
в других намеренно отключают некоторые js скрипты, как jQuery ui, обновляют версию jQuery, а jQury ui нет
или вот код, подключи vqmod и вся верстка отвалится
$themeName = basename( dirname(dirname(dirname(__FILE__))) );
<link rel="stylesheet" type="text/css" href="catalog/view/theme/<?php echo $themeName;?>/stylesheet/stylesheet.css" />
в третьей разработчик решил заменить seo_url своей библиотекой, т.е. про seo_pro можно забыть.
обращение к покупателям - не используйте shoppica, какой бы красивой она вам не казалась, если помимо красивой темы вам нужен нормальный магазин без проблем.
автор настолько влез в движок, что это уже не opencart. серьезно, посмотрите сколько с ней проблем http://goo.gl/GJPbi4
перед приобретением темы поинтересуйтесь какие с ней могут быть проблемы. код, который я приводил выше был взят из наиболее популярных тем.
создатели тем, задумайтесь о совместимости, не создавайте проблем для своих покупателей.