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

Designer

Пользователи
  • Публикаций

    1 149
  • Зарегистрирован

  • Посещение

Репутация

78 Очень хороший

Информация о Designer

  • Звание
    PHP Developer
  • День рождения 12.09.1988

Контакты

  • Сайт
    http://ocdesign.ru
  • Skype
    oc-designer

Информация

  • Пол
    Мужчина
  • Город:
    Татарстан, Казань
  • Интересы
    HTML, CSS, AJAX, jQuery, PHP, NGINX, MYSQL

Посетители профиля

9 478 просмотров профиля
  1. Все настройки модулей сохраняются как префикс + ключ + значение. Например префикс default Если ты хочешь, сохранить массив данных модуля. Например список ID категорий, то можешь передать все в одну переменную if (isset($this->request->post['default_category'])) { $data['default_category'] = $this->request->post['default_category']; } else { $data['default_category'] = $this->config->get('default_category'); } <?php foreach($categories as $category) { ?> <tr> <td class="checkbox"> <?php if (in_array($category['category_id'], $default_category) { ?> <label><input type="checkbox" name="default_category[]" value="<?php echo $category['id'] ?>" checked /><?php echo $category['name'] ?></label> <?php } else { ?> <label><input type="checkbox" name="default_category[]" value="<?php echo $category['id'] ?>" /><?php echo $category['name'] ?></label> <?php } ?> </td> </tr> <?php } ?> в БД сохранится такое значение в формате JSON, так как является массивом, как вы написали выше префикс default ключ default_category Возвращаться будет уже в виде массива, который вы запишите в переменную контроллера, для вывода в шаблон if (isset($this->request->post['default_category_id'])) { $data['default_category_id'] = $this->request->post['default_category_id']; } else { $data['default_category_id'] = $this->config->get('default_category_id'); } <tr> <td> <label><input type="text" name="default_category_id" value="<?php echo $default_category_id; ?>" />Категория</label> </td> </tr> в БД сохранится новое поле со значение в виде чиcла префикс default ключ default_category_id В результате у модуля будет несколько записей с настройками это список категорий в виде массива $this->config->get('default_category'); и в виде числа $this->config->get('default_category_id');
  2. // Чтобы сделать рейтинг, как минимум нужно, чтобы у товаров были комментариий // В твоем глупом случае, так... UPDATE `oc_review` SET `rating` = 5, status = 1 WHERE `product_id` IN (SELECT `product_id` FROM `oc_product`);
  3. Тут нет методов сохранения в БД
  4. 1. Разделите получения списка категорий постранично. ( Если категорий много ) 2. Разделите получение товаров в категории постранично. 3. Для Ajax используй callback, тогда не будет проблем с долгим ожиданием.
  5. В базе OC нет базы городов В OC всегда хранится сессия кода языка Решение: 1. Реализовать базу городов, API, либо собственную базу 2. Сделать связку, ID город { данные по клнтактам } + Lang code 3. Вывод данных при смене сессии p.s. Обычно смену языка делают на уровне стран, максимум региона Ссылка на язык реализуются по средствам ЧПУ www.domain.com/en/, для этого можете каждой ссылке передать GET параметр &language=en, в ЧПУ добавлять для него префикс EN
  6. Вся причина в том, что Вы используете journal, данный шаблон меняет структуру ядра, и использует свои JS скрипты. Мой пример показан для чистого ядра и шаблона default, но которая реализует то, что Вам нужно. p.s. После всех изменений, обязательно чистить кеш модификаторов! Ах да, у меня в примере, на нет в количестве в товара на складе... Для кол-во 0, код будет такой: # ./catalog/controller/checkout/cart.php # Найти if (isset($this->request->post['quantity']) && ((int)$this->request->post['quantity'] >= $product_info['minimum'])) { $quantity = (int)$this->request->post['quantity']; } else { $quantity = $product_info['minimum'] ? $product_info['minimum'] : 1; } # Заменить $quantity = 0; if (empty($this->request->post['quantity'])) { $json['error']['quantity'] = $this->language->get('error_quantity'); } elseif ((int)$this->request->post['quantity'] >= $product_info['minimum']) { $quantity = (int)$this->request->post['quantity']; } else { $quantity = $product_info['minimum'] ? $product_info['minimum'] : 1; }
  7. # ../controller/common/header.php $data['customer_email'] = $this->customer->getEmail(); # ../default/common/header.tpl <?php echo $customer_email; ?> # ../default/common/header.twig {customer_email}
  8. # ./catalog/controller/checkout/cart.php # Найти if (isset($this->request->post['quantity']) && ((int)$this->request->post['quantity'] >= $product_info['minimum'])) { $quantity = (int)$this->request->post['quantity']; } else { $quantity = $product_info['minimum'] ? $product_info['minimum'] : 1; } # добавить ниже if ($product_info['quantity'] < 1) { $json['error']['quantity'] = $this->language->get('error_quantity'); } Чтобы вывести информацию для клиента в виде сообщения, можете добавить в js /* ../common.js var cart 'add': ../product.tpl $('#button-cart').on('click', function() { */ if (json['error']['quantity']) { $('.breadcrumb').after('<div class="alert alert-info">' + json['error']['quantity'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>'); } п.с. ограничивать нужно в серверной части, а не на клиентской, как показывали выше.
  9. Вы думаете, администрация форума проверяет качество кода всех модулей, которые продаются на форуме и под лицензией? То, что Вы купили с лицензией, не говорит о качестве
  10. Качественная оптимизация, которая приводит к 503 — service unavailable После оптимизации программистом, убедитесь в том, что оптимизация была сделал правильно. Кеширование кеширует и кеширует правильно. А перед тем, как думать о кешировании, нужно проверить сервер, БД и сам код, ядра, модулей, которые были добавлены в движок. После того, как вы убьете все шлак модулей, найдете тяжелые запросы, оптимизируете их, повторно перепроверите и перенастройте конфигурации сервера при этих нагрузках, можете приступать к кешированию.
  11. @vladseoshnik Есть вопросы, пишите в ЛС, указывая домен. Отвечу на все интересующиеся вопросы.
  12. Для конкретного пользователя ничего не входит. А вот модуль поддерживается ни один год и дорабатывается в лучшую сторону.
  13. Designer

    [Поддержка] ТК «КИТ»

    Добрый, да будет
  14. В ЛС прайс поставщика и версию ОС
×

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

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