Перейти к содержанию
freelancer

проблемы совместимости opencart

Рекомендуемые сообщения

часто в мой почтовый ящик сваливаются письма с заголовком "ваш модуль не работает".

когда я выясняю в чем проблема, оказывается что проблема вовсе не в моём дополнении, а в каких-то других факторах, с этим сталкивается любой разработчик, вот об этом я и хотел бы рассказать.

 

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

перед приобретением темы поинтересуйтесь какие с ней могут быть проблемы. код, который я приводил выше был взят из наиболее популярных тем.

 

создатели тем, задумайтесь о совместимости, не создавайте проблем для своих покупателей.

 

 
  • +1 4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поддерживаю, не видел ни одной нормальной темы на themeforest, где разработчик бы не влез в код или оставил бы названия классов дефолтными. Особенно убивают темы, заменяющие стандартные файлы контроллеров и модели, из-за чего при установке любого дополения приходится лезть в код.

Кстати, хорошо было бы закрепить этот пост в разделе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу шоппики , то согласен полностью, по поводу "кода" в модулях\темах, то тут вопрос исключительно компетенции кодера\дизайнера, не каждому дано постигнуть дзен выше описанных оптимизированных строк, так же могу сказать, что несколько раз был запрос на добавление определённого функционала под фильтрПРО, но в последних версиях, использована специальная семантика кода, для вывода шаблона, зачем усложнять разработку ? если можно просто использовать ту же функцию display.

 

P.S. Сам иногда халявлю с кодом, когда надо бысто что то написать или подганяют сроки, но и оцениваю соответственно, ведь если делать все под один шаблон кодирования, то тогда навернои и ценовой шаблон так же един будет, и тарификация только за кол-во строк получится, если все будут использовать одну и ту же систему кодописания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А мне сложно поддерживать совместимость с модулем Simpla. Модуль классный, спору нет, но поля, блоки...

 

Это в симпле

<input id="customer_main_city" class="simplecheckout-red-border" type="text" reload="from_customer" value="" name="customer[main_city]">

это в оригинале

<input class="large-field" type="text" value="" name="city">

 

нельзя было оставить name="city" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так же могу сказать, что несколько раз был запрос на добавление определённого функционала под фильтрПРО, но в последних версиях, использована специальная семантика кода, для вывода шаблона, зачем усложнять разработку ? если можно просто использовать ту же функцию display.

плохо понял, нельзя ли по конкретнее и лучше в ЛС

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

плохо понял, нельзя ли по конкретнее и лучше в ЛС

<script id="productTemplate" type="text/x-jquery-tmpl">
	<div>
		{{if thumb}}
			<div class="image"><a href="${href}"><img src="${thumb}" title="${name}" alt="${name}"/></a></div>
		{{/if}}
		<div class="name"><a href="${href}">${name}</a>
			<div class="extra" style="color: #444;">
				{{if sku}}
...

Если для примера, я хочу в шаблон добавить вывод опций, то наследовать text/x-jquery-tmpl семантику считаю не целесообразно, и тогда возникает резонный вопрос, или обратится к автору "FilterPRO", что б внес изменения, или менять саму структуру вывода товаров при фильтрации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я просил написать в ЛС потому как эта проблема не относится к теме. но могу ответить тут.

 

поторопился я с jQuery templates, если с php ещё кто-то может разобраться, с этим js плагином совсем плохо. из-за чего я часто встречал сообщения типо "автор криворукий, фильтр проще переписать с нуля чем доработать" =))) которые у меня и сейчас вызывают улыбку.

в версии мега рендеринг я перенес на сервер на всем привычный .tpl

 

PS - зачем извращаться с этим js templates ? всё просто - скорость.

сейчас эта технология используется в бесплатном фильтре в админке, как ни странно нытья на эту тему ещё не было

Изменено пользователем freelancer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Применение подобной технологии - только + однозначно, да и показатель высокого уровня, но (как на примере с фильтром) затачивать нужный функционал ИМХО поспешили, посему и отписал сюда, а не в ЛС, что б однозначно расставить точки над вопросами, если ещё раз возникнут у пользователей и можно было их отправить для прочтения и понимания сути проблемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.