Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

cmd

Users
  • Posts

    1,296
  • Joined

  • Last visited

Everything posted by cmd

  1. afwollis, по-моему таким только FF занимается по-старинке. Нет? Поставил ANSI... UPD: Американский форум. Задаёшь вопрос, потом тебе отвечают. Израильский форум. Задаёшь вопрос, потом тебе задают вопрос. Русский форум. Задаёшь вопрос, потом тебе долго рассказывают какой ты мудак.
  2. Вы шутите надо мной? Уникальный любой шаблон кроме дефолтного. Конечно же нет. Для техподдержки я указал свою почту. Тут я бы почитал про баги с большим удовольствием. А про проблемы пользователей, которые не читают документацию я могу почитать в любой другой ветке форума. Это файл в кодировке UTF-8 без ВОМ. В этой кодировке сохранены все файлы OpenCart. И даже если Ваш FireFox показывает кракозябли, то Вы можете сохранить файл на компьютер и открыть обычным блокнотом. Кроме того, точная копия этого файла уже лежит на Вашем компьютере в папке архива с модулем, который Вы скачали и называется readme_ru.txt Что Вы от меня ждете? Я уже написал документацию весьма подробно, как мне кажется. Если что-то в документации не соответствует истине - это баг и я его исправлю, только скажите.
  3. barrel, Вы, наверно, проявляете хорошие манеры, когда пишите сюда, а не мне в личку или на почту (которая есть в документации к модулю), но это не тот случай. У Вас свой уникальный шаблон с кучей JS и анимацией. Любой мой ответ ни для кого кроме Вас не представляет никакой ценности вообще. Если по сути, то я рекомендую читать документацию, которая выложена на странице модуля на русском языке и тоже самое на английском языке. Судя по описанной проблеме у Вас не выдержана правильная HTML-структура (читайте документацию), впрочем, при просмотре категории как списка (антоним слова "решетка") кнопка "Просмотр" никуда не пропадает (это видно на двух демо) потому что это было бы не юзабильно. UPD: Если в документации есть какая-то двусмысленность - дайте знать, я внесу уточнения в текст
  4. Юзабилити - дрова. Интеллектуальный ценз какой-то для пользователей)
  5. sitecreator, спасибо за "двоение" - поправлю... А что именно хорошего я должен узреть и слизать с lamoda.ru? P.S. Странные у Вас цены... Я бы за 3000 р. сам с удовольствием заказал бы разработку такого модуля под NDA.. Сейчас объясню: Общий объем потраченного времени у меня ~30 часов. Допустим, 15$ ушли на интерфейс управления и кастомизации (если делать под конкретный сайт, то время на это тратить не нужно). Ещё часа 2 я потратил на систему защиты и ещё 3 на документацию. В остатке имеем 10 часов на разработку основного функционала. Если предположить, что Вы потратите на работу столько же времени, то получится, что час Вашей работы стоит 75 рублей, что почти в 3 раза меньше, чем часовая ставка уборщицы в МакДональдс.
  6. deim, за же херня. Мне в общем-то все равно, но если найдешь решение - отпиши.
  7. Можно купить тут. Поставил до 10-ого числа акцию 8$ :) Через недельку будет бесплатный триал с более скромным функционалом.
  8. 2m2, я тут напишу: будет платная версия 10$ с контроллером админки под IonCube и будет триальная (без админки) с открытым кодом под GPL.
  9. Отписал на мыло. Рекомендую Вам убрать из поста ящик, чтобы спам-боты не заиндексировали.
  10. barrel, спасибо за мнение, но по поводу скролла я не согласен. Пробовал разные варианты чувствительности. Скролл в скролле юзабильный именно когда чувствительность низкая. 2m2, полнофункциональной версией с открытым исходником бесплатно конкретно с Вами - точно нет. В остальном пока не решил.
  11. "Основный" php код в папках controller, modal и system, а шаблоны вывода в папке view.
  12. RGB, конечно, да. А разве сейчас не так? UPD: сорри, понял о чем речь. Подумал вначале что мы говорим про "поиск". А потом дошло о чем Вы. Тогда "конечно, нет" :)
  13. Может добавить фиксированные пожертвования? Чтобы не возиться с 10-тью аккаунтами, я просто буду нажимать одну кнопку "Купить модуль сам у себя 50 раз за 10 рублей". У меня со счета сразу списывается 500 рублей и + 50 к счетчику покупок :-D :-D :-D
  14. ingenerks, согласен, что листалка симатичная. Если бы она реагировала на стрелочки клавиатуры, то было бы ещё лучше. Но есть ряд объективных технических причин по которым это будет затруднительно реализовать в коробочном решении. На кастомном сайте под заказ - легко. А вот "в коробочку" я такое не положу потому, что техподдержка такой фичи обещает быть адовой. P.S. Спасибо за ссыль.
  15. afwollis, имеется ввиду actions&options, конечно. Есть 4 действия: 1) добавить в корзину 2) добавить в wishlist 3) добавить в сравнение 4) Перейти на страницу товара. Действие №1 не имеет смысла без опции. Действие №2 и №3 будут не логичны, если нет действия №1. Эти три действия логично сгруппировать вместе с опциями. Действие №4 тут не совсем уместно т.к. оно надо всегда, но его можно вынести в футер всплывающего окна. Для сравнения ещё два скрина.
  16. Я тут наткнулся на исходники одного модуля (не буду тыкать пальцем) быстрого просмотра товара во всплывающем окне и пришел в тихий ужас. В общем, поковырял я в носу и сел писать сам с нуля. Интересно услышать какие у пользователей OpenCart есть пожелания к такого типа модулям. Для затравки пару скнинов: UPDATED В общем, хочу показать то что сделал и надеюсь на Вашу критику - всех заплюсую)). Залил две демки. Специально никаких косметических правок не вносил - как стало так стало. Демо №1 с дефолтными настройками Демо №2 с включенными опциями Админка с demo:demo P.S. Помните, чем сильнее Вы бьете - тем больше я Вас люблю.
  17. Плюсанул, но идею не поддерживаю. В данном конкретном случае отредактировал своего сообщение в обсуждении шаблона.
  18. А я не общаюсь с заказчиками в skype, кроме самых адекватных и проверенных. Ну, точнее, я сразу говорю заказчикам: "Все что Вы пишите в скайп - Вы пишите для себя. Я могу Вам что-то рассказать в скайп. Если хотите мне что-то написать\рассказать - пишите на почту". Это не решения проблемы. Просто делюсь своим опытом. Работать с почтой намного удобнее, ИМХО.
  19. Было бы не плохо прилепить для бесплатных модулей функцию донейшенз для автора модуля. Было бы больше бесплатных модулей...
  20. Все верно. Ну, если нет ошибки SQL, то данные из базы забираются. А все остальное, как я уже говорил, не интересно. Ищите где проблема. Первая моя догадка в том, что Вы делаете echo $product['related']; за пределами цикла foreach...
  21. saveplanet, работает? Вот и славно. А я уже хотел отругать за вопрос "в какой строке?".
  22. В контрллере категории catalog\controller\product\category.php Есть строка $results = $this->model_catalog_product->getProducts($data); Поэтому залазим в контроллер catalog\model\catalog\product.php и находим метод getProducts(). Там мы видим SQL запрос. Переписываем его. $sql = "SELECT p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) FROM " . DB_PREFIX . "product_related pr WHERE pr.product_id = p.product_id) AS related, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special"; Все... Дальше не интересно. В файле catalog\view\theme\ваш_шаблон\template\product\category.tpl теперь доступна переменная $product['related'], которая содержит числовое значение. P.S. Сам не проверял. UPDATED: Кажется я фигню написал. Там ниже вызов в цикле: foreach ($query->rows as $result) { $product_data[$result['product_id']] = $this->getProduct($result['product_id']); } О, чудесный OpenCart! О, божественная архитектура! Значит так... Забыли про getProducts. Вместо того, чтобы редактировать метод getProducts нужно редактировать getProduct по аналогии т.е. $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT COUNT(*) FROM " . DB_PREFIX . "product_related pr WHERE pr.product_id = p.product_id) AS related, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); UPDATE 2: В этом прекрасном полотне надо добавить if ($query->num_rows) { return array( 'product_id' => $query->row['product_id'], 'related' => $query->row['related'], // вот это добавлено 'name' => $query->row['name'], 'description' => $query->row['description'], 'meta_description' => $query->row['meta_description'], 'meta_keyword' => $query->row['meta_keyword'], 'tag' => $query->row['tag'], 'model' => $query->row['model'], 'sku' => $query->row['sku'], 'upc' => $query->row['upc'], 'ean' => $query->row['ean'], 'jan' => $query->row['jan'], 'isbn' => $query->row['isbn'], 'mpn' => $query->row['mpn'], 'location' => $query->row['location'], 'quantity' => $query->row['quantity'], 'stock_status' => $query->row['stock_status'], 'image' => $query->row['image'], 'manufacturer_id' => $query->row['manufacturer_id'], 'manufacturer' => $query->row['manufacturer'], 'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']), 'special' => $query->row['special'], 'reward' => $query->row['reward'], 'points' => $query->row['points'], 'tax_class_id' => $query->row['tax_class_id'], 'date_available' => $query->row['date_available'], 'weight' => $query->row['weight'], 'weight_class_id' => $query->row['weight_class_id'], 'length' => $query->row['length'], 'width' => $query->row['width'], 'height' => $query->row['height'], 'length_class_id' => $query->row['length_class_id'], 'subtract' => $query->row['subtract'], 'rating' => round($query->row['rating']), 'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0, 'minimum' => $query->row['minimum'], 'sort_order' => $query->row['sort_order'], 'status' => $query->row['status'], 'date_added' => $query->row['date_added'], 'date_modified' => $query->row['date_modified'], 'viewed' => $query->row['viewed'] );
  23. Ага. Понял. Звучит очень непрактично, но задача интересная. Ща напишу решение... 10 минут...)
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.