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

shchs

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

    528
  • З нами

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

  1. В теории вы наверное правы, но операций записи будет в сотни раз меньше чем операций чтения, которые несколько раз присутствуют при каждом открытии страницы и даже при добавлении товара в корзину, сначала идет чтение из нее в попытке найти есть ли там такой уже. Поэтому вопрос тут философский и как оно будет на практике, пока не понятно.

  2. есть какой то сокровенный смысл в том, что таблица oc_cart единственная из всех создается как ENGINE=InnoDB ?

     

    Ровно такой же, как перенос моделей доставки, оплаты в папку "extension", а "library/cart.php" в "library/cart/cart.php" вместе с "customer.php", "length.php" и т.д.

    То есть смысла никакого, но движуха создается.

  3. Баг при удалении товара из корзины с включенным seopro связан с тем, что функция getURLVar в common.js заточена для разбора не сео урла, а сео урл она не понимает, поэтому функция удаления срабатывает не правильно, она не видит, что мы сейчас на страницы корзины и не перезагружает страницу.

    Нужно либо убрать сео урл у корзины, либо модифицировать функцию getURLVar.

  4. Еще с переводом немного надо поправить, на гит сегодня зайти не могу, поэтому в таком виде:

    http://prnt.sc/cz7p40

    http://prnt.sc/cz7pve

    http://prnt.sc/cz7q42

    http://prnt.sc/cz7qiy

    http://prnt.sc/cz7qry

     

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

  5. Удаление любого языка из админки вызывает Fatal error из-за отсутствия таблицы banner_image_description

     

    Fatal error: Uncaught Exception: Error: Table 'ocstore.banner_image_description' doesn't exist<br />Error No: 1146<br />DELETE FROM banner_image_description WHERE language_id = '6' in W:\domains\ocStore\system\library\db\mysqli.php on line 40

     

    Если еще не исправили, подтверждаю, такой таблицы при чистой установке нет! 

  6. Добавить в admin/model/sale/order.php

    public function getCountOrderProducts($order_id) {
        $query = $this->db->query("SELECT SUM(quantity) AS total FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");
        return $query->row['total'];
    }

    и в тот же файл, до

    return array(

    добавить

    $count_products = $this->getCountOrderProducts($order_id);

    а после

    => $order_query->row['order_id'],

    добавить

    'count_products'          => $count_products,
    • +1 1
  7. При публикации модуля, разработчик должен указать:

    1. урл для активации

    2. пароль для проверки подлинности

    3. возможна ли активация на тестовый домен

     

    При этом разработчику система сообщается id дополнения.

    -----------------------------------------

     

    При покупке клиент вводит свой домен и, если разрешено, тестовый домен.

    -----------------------------------------

     

    После оплаты, идет POST на сервер активации разработчика, содержащий:

    0. id запроса (генерирует каталог, уникален, чтобы соотносить между собой запросы и ответы каталога и сервера активации)

    1. id дополнения

    2. md5(пароль)

    3. ник покупателя

    4. email покупателя

    5. datetime покупки

    6. домен для активации

    7. тест домен (если разрешено)

     

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

     

    На POST, сервер активации выдает простой ответ, не надо xml и других усложнений, достаточно просто $this->response->setOutput($otvet), содержащий:

    0. id запроса (берется из запроса каталога)

    1. id дополнения (не обязательно, но для облегчения поиска проблем не помешает)

    2. статус активации (1 - все хорошо, 2 - не хорошо, пароли не совпали и т.д. и т.п.)

    $otvet = '0|1|2';

  8. Что касается выплат, вообще хотелось бы видеть некую оборотную ведомость по движению на счете, когда и сколько пришло и ушло. А то сейчас имеем сумму на счете и как она формируется не видно. Не видно сколько и когда выплачено, сколько и когда начислено. Мне показалось что последняя выплата не соответствует заявке на пару сотен, но возможно мне это приснилось, а как проверить, если письмо не сохранилось? И почему в списке продаж некоторые продажи стоят с суммой 0? Это глюк или реально на счет ничего не упало? Не понятно...

    А была бы оборотка, было бы все прозрачно и видно.

  9. 1. в common.js  функция add не работает для страницы с товаром, не забывайте об этом.

    2. $('#cart > button')  -  насколько видно из кода вы вставляете button и он прямой потомок .alert-success, а не #cart

    3. #ps_cart_p  -  один на странице?

    • +1 1
  10. catalog/view/javascript/common.js

    function addToCart.....
    ...................................
    if (json['success']) {
    //оставляем только это:
    location = 'index.php?route=checkout/checkout';
    }
    ....................................

    catalog/view/theme/default/template/product/product.tpl

    $('#button-cart').bind('click', function() {........
    .....................................................................
    if (json['success']) {
    //оставляем только это:
    location = 'index.php?route=checkout/checkout';
    }
    ....................................
    • +1 1
  11. Сначала вам нужно выполнить команду в phpMyadmin:

    ALTER TABLE `oc_category` ADD `image2` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `image`;

    oc_ - префикс, корректируем если отличается от вашего.

     

    Потом admin/model/catalog/category.php  после:

    if (isset($data['image'])) {
    $this->db->query("UPDATE " . DB_PREFIX . "category SET image = '" . $this->db->escape($data['image']) . "' WHERE category_id = '" . (int)$category_id . "'");
    }

    Добавить в двух местах:

    if (isset($data['image2'])) {
    $this->db->query("UPDATE " . DB_PREFIX . "category SET image2 = '" . $this->db->escape($data['image2']) . "' WHERE category_id = '" . (int)$category_id . "'");
    }

    Потом admin/controller/catalog/category.php после:

    $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100);

    добавить:

    if (isset($this->request->post['image2'])) {
    $data['image2'] = $this->request->post['image2'];
    } elseif (!empty($category_info)) {
    $data['image2'] = $category_info['image2'];
    } else {
    $data['image2'] = '';
    }
    
    if (isset($this->request->post['image2']) && is_file(DIR_IMAGE . $this->request->post['image2'])) {
    $data['thumb2'] = $this->model_tool_image->resize($this->request->post['image2'], 100, 100);
    } elseif (!empty($category_info) && is_file(DIR_IMAGE . $category_info['image2'])) {
    $data['thumb2'] = $this->model_tool_image->resize($category_info['image2'], 100, 100);
    } else {
    $data['thumb2'] = $this->model_tool_image->resize('no_image.png', 100, 100);
    }
    

    Потом в admin/view/template/catalog/category_form.tpl добавляем:

    <div class="form-group">
       <label class="col-sm-2 control-label"><?php echo $entry_image; ?></label>
        <div class="col-sm-10"><a href="" id="thumb-image2" data-toggle="image" class="img-thumbnail"><img src="<?php echo $thumb2; ?>" alt="" title="" data-placeholder="<?php echo $placeholder; ?>" /></a>
           <input type="hidden" name="image2" value="<?php echo $image2; ?>" id="input-image2" />
        </div>
    </div>

    Все, на фронте выводите как и стандартную.

  12. Где "много" делается обычно так:

     

    ваши кнопки у заказов:

    <a onclick="addreward('<?php echo $order['order_id']; ?>');" class="reward-add">Добавить баллы</a>
    <a onclick="addreward('<?php echo $order['order_id']; ?>');" class="reward-add">Добавить баллы</a>
    <a onclick="addreward('<?php echo $order['order_id']; ?>');" class="reward-add">Добавить баллы</a>

    функция:

    function addreward(oid) {
        $.ajax({
            url: 'index.php?route=sale/order/addreward&token=<?php echo $token; ?>&order_id='+oid
  13. Я обычно еще использую:

    lazyLoad: true

    Тогда соответственно меняем:

    img src=

    на:

    img class="lazyOwl" data-src=

    Примечание: class="lazyOwl"  -  справедливо для owl версий 1.3.2(3), для других версий уточнять.

    Что дает: Картинки загружаются не сразу, а по мере необходимости(видимости), что облегчает вес страницы и увеличивает скорость её загрузки.

    • +1 1
  14. Если у поставщика есть api/xml фид или что-то в этом роде, то сделать можно вам кнопочку. А если у него просто сайт с товарами, то ничего не получиться. Тогда нужен парсер, но с ним тоже лотерея, либо ручного труда вагон, либо автомат, но однажды поставщик что-то сменит в верстке страницы и капут вашим спарсенным товарам/ценам.

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

Important Information

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