-
Публікації
2 247 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем Baco
-
-
-
-
Доброго времени, 1 и 3 запрос - это нестандартные для опенкарта запросы и вероятно, что вызываются каким то модулем, вот 2-й запрос - это стандартный метой "вытяжки" данных по конкретному product_id, но он не полный, можно его оптимизировать, всё зависит от того, какие данные по товару в магазине используются и стоят ли заглушки, если оптимизируется запрос и где то будет пропущена стандартная переменная, напремер по вызову рейтинга , что в свою очередь - вызовет ошибку.
-
Паша, найди функцию function addToCart( в файле catalog\view\javascript\common.js
там найди строку:
$('.success').fadeIn('slow');
и после неё добавь:
$('.success').fadeOut(4500);
если для хедера нужно, используй toggle
-
К выше перечисленному, так же добавляю поменять:
html_entity_decode($option_value['option_checked']),
на:
(int)$option_value['option_checked'],
-
после:
$('.success').fadeIn('slow');
-
$('.success').fadeOut(4500);
-
Почитайте по отзывам на форуме, для побора специалиста.
В средней статистике сайт выносит около 500 у.ё. вместе с модулями, премиум шаблоном, консультацией, настройкой и тех поддержкой в течении какого то периода.
Основные модули, которые стандартно надо докупать это:
1. Симпл (упрощенное оформление заказа);
2. FilterPRO (фильтр по параметрам);
3. Пакетное редактирование (для админ. панели);
4. Выбор шаблона я бы посоветовал от наших разработчиков, так как иностранные - ***кодеры и не ведут поддержки.
Остальное подбирается по мере необходимости и хотелок.
Сумма за работу специалиста зависит от конечного ТЗ (технического задания) и по моей практике, рассчитывается как время на выполнения задач * на почасовой тариф (это как программиста), но вам так же нужны услуги верстальщика и специалиста по СЕО и это всё - доп. затраты.
- 1
-
-
Лучше всего - обновите версию на последнюю, там много вопросов решено + специалист сможет подсказать хороший адаптивный шаблон.
-
$('.success').delay(4500).fadeOut('slow');
-
Задачу правильно поставьте, там цена меняется умножением на размер, от какого критерия у вас должно изменяться значение ?
Есть минимальное (крайнее левое значение) и максимальное (крайне правое) и сам слайдер между ними, но если взять 100 и установить в положение от мин: 0 макс : 100, то как цена должна меняться в зависимости или от чего ? (например от кол-ва, тоесть ползунок - это кол-во, или размер, как на примере или от кубатуры...)
-
Baco успокойся. Картинки с файлообменников - не проблема. А с загрузкой к себе на сервер - это харакири
Спокойней меня, только вечерний ветерок на мальдивах...
А вот загрузка фоток на сервер - харакири - неправда, в ЛС ответил почему, дабы тут не продолжать холиварить бессмысленно, основываясь на одну статью с обработкой функции getimagesize...
-
Хватит флудить, господа.
ТС, вкратце, нежелательно посетителю давать возможность заливать свои файлы на сайт.
Но если уж решились, то cms pro может помочь. Только проконсультируйтесь у продавца, насколько это защищенное от "бомбы" решение ;)
Так ТС не хочет "возможность заливать свои файлы", он хочет картинки к отзывам добавлять то... парни, вы чего ??
P.S. Лан, удалите пожалуйста мои ответы к теме вообще.
Спасибо за понимание.
-
в футере не вызывается переменная $cart
$this->children = array( 'module/cart', );
-
<?php $themeName = $this->config->get('config_template') ; ?>
<div id="cart">
<div class="heading">
<h4><?php echo $heading_title; ?></h4>
<a><span id="cart-total"><?php echo $text_items; ?></span></a>
</div>
<div class="content">
<div class="content-inner">
<?php if ($products || $vouchers) { ?>
<div class="mini-cart-info">
<table>
<?php $i=0; ?>
<?php foreach ($products as $product) { ?>
<?php $i++; ?>
<?php if ($i <= 5 ) { ?>
<tr>
<td class="image"><?php if ($product['thumb']) { ?>
<a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" /></a>
<?php } ?></td>
<td class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
<div>
<?php foreach ($product['option'] as $option) { ?>
- <small><?php echo $option['name']; ?> <?php echo $option['value']; ?></small><br />
<?php } ?>
</div></td>
<td class="quantity">x <?php echo $product['quantity']; ?></td>
<td class="total"><?php echo $product['total']; ?></td>
<td class="remove"><img src="catalog/view/theme/<?php echo $this->config->get('config_template');?>/image/remove-small.png" alt="<?php echo $button_remove; ?>" title="<?php echo $button_remove; ?>" onclick="(getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') ? location = 'index.php?route=checkout/cart&remove=<?php echo $product['key']; ?>' : $('#cart').load('index.php?route=module/cart&remove=<?php echo $product['key']; ?>' + ' #cart > *');" /></td>
</tr>
<?php } ?>
<?php } ?>
<?php foreach ($vouchers as $voucher) { ?>
<tr>
<td class="image"></td>
<td class="name"><?php echo $voucher['description']; ?></td>
<td class="quantity">x 1</td>
<td class="total"><?php echo $voucher['amount']; ?></td>
<td class="remove"><img src="catalog/view/theme/<?php echo $this->config->get('config_template');?>/image/remove-small.png" alt="<?php echo $button_remove; ?>" title="<?php echo $button_remove; ?>" onclick="(getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') ? location = 'index.php?route=checkout/cart&remove=<?php echo $voucher['key']; ?>' : $('#cart').load('index.php?route=module/cart&remove=<?php echo $voucher['key']; ?>' + ' #cart > *');" /></td>
</tr>
<?php } ?>
</table>
</div>
<div class="mini-cart-total">
<table>
<?php foreach ($totals as $total) { ?>
<tr>
<td class="right"><b><?php echo $total['title']; ?>:</b></td>
<td class="right"><?php echo $total['text']; ?></td>
</tr>
<?php } ?>
</table>
</div>
<div class="checkout"><a href="<?php echo $cart; ?>"><?php echo $text_cart; ?></a> | <a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></div>
<?php } else { ?>
<div class="empty"><?php echo $text_empty; ?></div>
<?php } ?>
</div>
</div>
</div>
-
А как зависит ТИЦ от кол-ва проиндексированных страниц ?
Или в чем суть вопроса то ?
-
ТС, у нас тут вроде форум по opencart и обсуждения других движков и пиар сайтов на них не особо приветствуется, хотя я может уже не в тренде...
-
OpenCart - это мультимагазинный движок, для разных магазинов можно указывать разные настройки, добавлять разные товары и категории.
Поэтому в индексе получаем идентификатор магазина, для которого загружается конфиг и все, все, все.
Чтобы убрать мультимагазины нужно переписать половину запросов в движке и в результате получим экономию в 50 милисекунд..
+ если перебрать некоторые "тяжолые" запросы, которые регулярно выполняются но в них есть ненужные подзапросы, то так же пару миллисекунд получить можно, а в сумме - небольшой прирост, а если поставить это всё на кеширование...
-
Ребяты, вы чего, SQL забыли?
Это же выбор категорий, привязанных к текущему магазину store_id.
так в том то и суть, что в 99 % магазинов эти таблицы - не затрагиваются вообще, только в корне прописалось и всё, потом просто гоняются в порожняке запросы... зачем если априори store_id == 0 ?
-
BTW, здесь есть перспектива для мелкой оптимизации:
OR store_id = '" . (int)$config->get('config_store_id')
вставлять в запрос, только если
$config->get('config_store_id')!= 0
Зачем выбирать мультики, если их в 99,7% случаев нет?
В том то и суть... а теперь если посмотреть более глобально, на запросы типа:
LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id)
то возникает резонный вопрос: "Нахера здесь вообще category_to_store и обращение к ней а потом ещё и условие типа:
AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'
Есть идеи ?
-
Что это меняет?
Я, действительно, понять не могу.
настройки берутся из get->config
Причем здесь id_store
Слава, сперва: $config->set( а потом, чуть ниже: $config->get(
Смысл в проверке таблицы с мультиками, если они есть, то соотв в индексе и делать выборку по указанным настройкам.
-
Во многих модулях настройки не привязаны к store_id
в 99.7 % магазинов store_id == 0
-
Ну... тема создана на выявление и устранение таких вот мелких косяков и... доведения кода до состояния совершенства - вот цель топика.
P.S. Косяк с language - это не однократный момент рассмотрения в данной теме, позже будем добавлять по мере выявления другие недостатки и методы их устранения, а так же надеемся на активное участие сообщества, с целью совершенствования продукта.
Улучшения сборки по мелочам...
в Пропозиції та побажання
Опубліковано:
Зачем нужна эта функция (где используется): admin\model\setting\extension.php строка 23 ?