Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Baco

Користувачі
  • Публікації

    2 247
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Baco

  1. Доброго времени, 1 и 3 запрос - это нестандартные для опенкарта запросы и вероятно, что вызываются каким то модулем, вот 2-й запрос - это стандартный метой "вытяжки" данных по конкретному product_id, но он не полный, можно его оптимизировать, всё зависит от того, какие данные по товару в магазине используются и стоят ли заглушки, если оптимизируется запрос и где то будет пропущена стандартная переменная, напремер по вызову рейтинга , что в свою очередь - вызовет ошибку.

  2. Паша, найди функцию function addToCart(  в файле catalog\view\javascript\common.js

     

    там найди строку:

    $('.success').fadeIn('slow'); 

    и после неё добавь:

    $('.success').fadeOut(4500);
    

    если для хедера нужно, используй toggle

  3. Почитайте по отзывам на форуме, для побора специалиста.

    В средней статистике сайт выносит около 500 у.ё. вместе с модулями, премиум шаблоном, консультацией, настройкой и тех поддержкой в течении какого то периода.

    Основные модули, которые стандартно надо докупать это:

     

    1. Симпл (упрощенное оформление заказа);

    2. FilterPRO (фильтр по параметрам);

    3. Пакетное редактирование (для админ. панели);

    4. Выбор шаблона я бы посоветовал от наших разработчиков, так как иностранные - ***кодеры и не ведут поддержки.

     

    Остальное подбирается по мере необходимости и хотелок.

    Сумма за работу специалиста зависит от конечного ТЗ (технического задания) и по моей практике, рассчитывается как время на выполнения задач * на почасовой тариф (это как программиста), но вам так же нужны услуги верстальщика и специалиста по СЕО и это всё - доп. затраты.

    • +1 1
  4. Задачу правильно поставьте, там цена меняется умножением на размер, от какого критерия у вас должно изменяться значение ?

     

    Есть минимальное (крайнее левое значение) и максимальное (крайне правое) и сам слайдер между ними, но если взять 100 и установить в положение от мин: 0 макс : 100, то как цена должна меняться в зависимости или от чего ? (например от кол-ва, тоесть ползунок - это кол-во, или размер, как на примере или от кубатуры...)

  5. Baco успокойся. Картинки с файлообменников - не проблема. А с загрузкой к себе на сервер - это харакири

    Спокойней меня, только вечерний ветерок на мальдивах...

     

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

     

    SDAEME4ESfc.jpg

  6. Хватит флудить, господа.

    ТС, вкратце, нежелательно посетителю давать возможность заливать свои файлы на сайт.

    Но если уж решились, то cms pro может помочь. Только проконсультируйтесь у продавца, насколько это защищенное от "бомбы" решение ;)

    Так ТС не хочет "возможность заливать свои файлы", он хочет картинки к отзывам добавлять то... парни, вы чего ??

     

    P.S. Лан, удалите пожалуйста мои ответы к теме вообще.

    Спасибо за понимание.

  7. 
    

    <?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>

  8. OpenCart - это мультимагазинный движок, для разных магазинов можно указывать разные настройки, добавлять разные товары и категории.

    Поэтому в индексе получаем идентификатор магазина, для которого загружается конфиг и все, все, все.

    Чтобы убрать мультимагазины нужно переписать половину запросов в движке и в результате получим экономию в 50 милисекунд..

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

  9. Ребяты, вы чего, SQL забыли?

    Это же выбор категорий, привязанных к текущему магазину store_id.

    так в том то и суть, что в 99 % магазинов эти таблицы - не затрагиваются вообще, только в корне прописалось и всё, потом просто гоняются в порожняке запросы... зачем если априори store_id == 0 ?

  10. 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') . "'
    

    Есть идеи ?

  11. Что это меняет?

    Я, действительно, понять не могу.

     

    настройки берутся из get->config

    Причем здесь id_store

    Слава, сперва: $config->set( а потом, чуть ниже: $config->get(

     

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

  12. Ну... тема создана на выявление и устранение таких вот мелких косяков и... доведения кода до состояния совершенства - вот цель топика.

     

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

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.