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

afwollis

Ветеран спільноти
  • Публікації

    11 658
  • З нами

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

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

  1. да у нас все отлично =)

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

    теперь можем "допиливать" его общими усилиями.

    имхо: не обязательно делать установку таблиц через админку.

    ...Сейчас разбираюсь с софтом в связи с заменой ос...

    что на что сменили, если не секрет? https://opencartforum.com/public/style_emoticons/default/icon_question.gif
  2. 1.4.9.1

    model  	varchar(64)
    1.4.8 один раз видел, но не сильно разбирал.

    1) перепроверьте структуру таблицы product в базе данных.

    2) поищите в файлах просто "64" и разгребайте вывод https://opencartforum.com/public/style_emoticons/default/icon_question.gif

  3. shoma, спасибо за внимательность https://opencartforum.com/public/style_emoticons/default/icon_question.gif

    есть такое в пятом шаге:

    5) Открываем catalogmodelcatalogproduct.php

    До блока

    $sort_data = array(
             'pd.name',
             'p.sort_order',
             'special',
             'rating',
             'p.price',
             'p.model'
          );
    Вставляем

    // Start filter
              if (isset($values) && $values != '') {
                $data = array();
             
              foreach (explode('_', $values) as $value_id) {
                  $data[] = "value_id = '" . (int)$value_id . "'";
                }
               
                $sql .= " AND p.product_id IN (SELECT " . DB_PREFIX . "product_id FROM " . DB_PREFIX . "product_to_value WHERE " . implode(" OR ", $data) . ")";
            }
            // End filter
    должно быть

    // Start filter
              if (isset($values) && $values != '') {
                $data = array();
             
              foreach (explode('_', $values) as $value_id) {
                  $data[] = "value_id = '" . (int)$value_id . "'";
                }
               
                $sql .= " AND p.product_id IN (SELECT product_id FROM " . DB_PREFIX . "product_to_value WHERE " . implode(" OR ", $data) . ")";
            }
            // End filter

    хочу обратить внимаение, что при "чистой установке"

    ...Если у вас чистая система и вы еще ничего в её коде не изменяли, то качайте архив Openstore_module_product_filter_1.0_(clean_install).rar и просто извлеките файлы в корень с заменой и выполните запрос в базу данных...

    такой проблемы не возникает.
  4. покажите содержимое этих двух файлов.

    = = =

    метод телепатии:

    зря удалили ".htaccess".

    если есть копия - скопируйте оттуда все, что связано с "Register globals: и Magic Quotes GPC" в "htaccess.htaccess" и затем скопируйте получившийся файл в ".htaccess"

    если нет копии - копируйте "htaccess.htaccess" в ".htaccess" и просите саппорт повторить магические действия с "Register globals: и Magic Quotes GPC", но в текущем файле ".htaccess", без создания нового.

    почему?

    видимо ".htaccess" - файл созданный саппортом вашего хостинга, а "htaccess.htaccess" - тот, который был (со всеми вашими изменениями).

    в файле саппорта скорее всего были строки только по "Register globals: и Magic Quotes GPC", описания SEO-URLs там небыло (оно в "htaccess.htaccess").

    сервером используется только ".htaccess" - отсюда и "глюки".

  5. мда, может я и перемудрил https://opencartforum.com/public/style_emoticons/default/icon_question.gif

    сортировка зависит от параметра "ORDER BY" в запросах. формирующих список товаров.

    добавление "quantity DESC", как я написал, означает вывод "по количеству товара в порядке убывания" (т.е. начинаем с товаров, которых больше в магазине и потом в конце будут те, которых меньше или вовсе нет).

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

    по вашим мыслям:

    1. раз это не лучший вариант - пока что пропустим его.

    2. может так?

    if (in_array($sort, $sort_data)) {
             if ($sort == 'pd.name' || $sort == 'p.model') {
                $sql .= " ORDER BY LCASE(" . $sort . ")";
             } else {
                $sql .= " ORDER BY " . $sort;
             }
             if ($order == 'DESC') {
                $sql .= " DESC";
             } else {
                $sql .= " ASC";
             }
          } else {
             $sql .= " ORDER BY p.quantity DESC, p.sort_order ASC";
          }
    $sql .= " ORDER BY p.quantity DESC, p.sort_order ASC";
    говорит о том, что сортировка происходит в таком порядке:

    1) по количеству товара в порядке убывания (больше товара - выше позиция; меньше - ниже; ноль - еще ниже; меньше ноля - в конце);

    2) по полю "порядок сортировки".

    если же надо проверять именно статус товара ("в наличии" / "нет в наличии" / "только на заказ") - тогда в данный момент подсказать не могу - не думал об этом.

    что-то я вобще не в теме - такое ощущение, что двиг первый раз вижу

  6. admin/controller/catalog/product.php в районе 1100 строки, после

    foreach($results as $option) {
              $this->data['category_options'][] = array(
    вписываем

    'option_id' => $option['option_id'],
    в итоге имеем:

    foreach($results as $option) {
              $this->data['category_options'][] = array(
                'option_id' => $option['option_id'],
                'name' => $option['name'],
                'type' => $option['type'],
                'category_option_values' => $this->model_catalog_filter->getOptionValues($option['option_id'])
              );
            }

    это есть в коде фильтра в каталоге :roll:

    хотя я "малость охренел" пока докопался до исходного кода страницы "вкладки опций фильтра"

  7. на "thickbox" забейте.

    ...вообще комп подвисает на этом...

    какие-то "блокирующие" дополнения в браузерах есть?

    антивирус? какой?

    еще что-нибудь "anti-" ?

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

    как вариант - запускаем диспетчер задач, переходим на вкладку процессы, сортируем по ЦП и заходим на "глючный сайт", жмем у какого-нибудь продукта "в корзину".

    возможно удастся увидеть, какой процесс жрет ресурсы, и уже от этого отталкиваться

  8. ...Итак есть продукт, у которого есть дополнительные опции, эти опции можно задавать в пункте админки Catalog/Product Options (прошу прощения, но не знаю это дополнительная опция или стандартная, но в папке modules я подобного не увидел)...

    в стандартной поставке такого пункта меню в админке нет.

    есть только: Categories, Products, Manufacturers, Downloads, Reviews, Information.

    ...POST запрос оказался пустым, а вместо этого выполнялся такой код:

    foreach ($this->cart->getProducts() as $result) {...
    ...После которого, как я понимаю, содержимое корзины отображалось на следующей странице (страница корзины)...
    только были в админке и уже (оЧудо?! О_О ) копаемся в корзине :roll:

    как?! зачем? почему?

    ИМХО на данном этапе: либо вы что-то не договариваете, либо "...предыдущие разработчики данного сайта что-то намудрили..." :)

    ...Вот код метода getProducts() уже другого класса cart:...

    это уже ближе, но здесь получение продуктов, и никаких (если не проглядел) намеков на обновление каких-либо параметров.

    давайте еще раз с самого начала:

    дайте код формы из админки, через которую вы добавляете "product options".

    а лучше - весь исходный код страницы, на которой эта форма - вдруг данные уходят через AJAX (это в ЛС присылайте).

    будем разбираться, куда там уходят данные.

  9. shoma, что-то вы, батенька, курите не то.

    у вас затык вот тут

    ... (SELECT oc_product_id FROM product_to_value WHERE value_id = '3') ORDER BY p.sort_order ASC LIMIT 0,20

    откуда оно там ?

    я залил файлы на свежую 1.4.9.1 и все нормально работает.

    вы явно делаете _что-то_ не так :roll:

  10. [uPD]

    если правильно понял вопрос, то:

    добавить в "ORDER BY" соответствующих sql-запросов условие

    quantity DESC

    реализация на примере:

    catalog/model/catalog/product.php

    public function getProductsByCategoryId($category_id, $values, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20)
    меняем

    if (in_array($sort, $sort_data)) {
    			if ($sort == 'pd.name' || $sort == 'p.model') {
    				$sql .= " ORDER BY LCASE(" . $sort . ")";
    			} else {
    				$sql .= " ORDER BY " . $sort;
    			}
    		} else {
    			$sql .= " ORDER BY p.sort_order";	
    		}
    			
    		if ($order == 'DESC') {
    			$sql .= " DESC";
    		} else {
    			$sql .= " ASC";
    		}
    на

    if (in_array($sort, $sort_data)) {
    			if ($sort == 'pd.name' || $sort == 'p.model') {
    				$sql .= " ORDER BY LCASE(" . $sort . ")";
    			} else {
    				$sql .= " ORDER BY " . $sort;
    			}
    			if ($order == 'DESC') {
    				$sql .= " DESC";
    			} else {
    				$sql .= " ASC";
    			}
    		} else {
    			$sql .= " ORDER BY p.quantity DESC";	
    		}

    решение на скорую руку.

    один раз уже переписал :roll:

    возможно что-то еще не учел

  11. freakonaleash, насчет "checkout/cart" - jQuery и AJAX. данные передаются через JavaScript.

    ...если бы кто-то мне наглядно рассказал о механизме передачи данных из формы на сервер...

    Fix305 вроде нормально объяснил =)

    При выборе товара мне на форме дополнительных опций о товаре нужно добавить одно поле, поле я добавил, поместил ее в форму, но не могу понять как opencart обрабатывает форму.

    ...

    Или хотя бы рассказал как подключать еще одно product option ко всем существующим продуктам, так как я его добавил в соответствующем пункте меню в админке, а в БД к продукту оно не привязалось.

    шо? каво?

    версия движка;

    хостинг/denwer/локальный-web-сервер;

    установленные модули.

    опишите подробно: что, где и как делаете, что ожидаете получить и что получаете в итоге.

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

  12. при таком железе и настройках все должно быть нормально.

    Но при заходе в витрину тормозит просто жутко

    долго грузятся страницы или _браузер_ начинает тормозить ?

    есть что-нибудь в:

    Mozilla: Tools -> Error Console

    Opera: Инструменты -> Дополнительно -> Консоль ошибок

    ?

    попробуйте почитать вот это:

    Искажение js скрипта загружаемого по

  13. хз откуда у вас такие кнопки.

    для начала чистим кэш системы, браузера.

    затем смотрим изменилась ли ситуация.

    если нет - расскажите, откуда сами кнопки:

    шаблон/модуль/или_чо_там - какой(е), где брали.

    а уж потом будем думать, где искать "эти букаффки".

  14. "Как сделать список в каталоге такого вида?" --> https://opencartforum.com/topic/1064-как-сделать-список-в-каталоге-такого-вида

    возможно этого хватит.

    если нет - пишите. помогу если не сильно занят буду.

    ну или кто-то другой может подскажет, что куда лепить :geek:

    = = =

    а вобще мне мысль про переменную viewType понравилась :D .

    на досуге надо будет подумать, как в настройки движка впихнуть это дело.

  15. такой "опции" нет.

    если нужен один вариант отображение - переверстайте шаблон.

    если хотите иметь возможность выбирать вариант отображения - сверстайте дополнительный шаблон (скопируйте существующий и измените так, как вам надо) и впарьте дополнительный параметр (например viewType), который и будет передаваться в скрипт.

    например так:

    /index.php?route=product/category&path=25_28&viewType=table
    /index.php?route=product/category&path=25_28&viewType=columns
    а в скрипте в зависимости от пришедшего параметра подгружайте табличный или колоночный шаблон
  16. Warning: session_start() [function.session-start]: open(/mnt/500g/www/svnumizmatiklv/data/tmp/sess_7b6b108855419b7a6f826a8ded0fe9ae, O_RDWR) failed: No such file or directory (2) in /mnt/500g/www/svnumizmatiklv/data/www/svnumizmatik.lv/system/library/session.php on line 11
    этим все сказано.

    [?]нет директории "/mnt/500g/www/svnumizmatiklv/data/tmp/", в которую скрипт пытается записать файлы сессий.

    создайте эту директорию или поставьте правильные права на неё или терзайте хостера.

    вопрос настроек PHP

  17. amir,

    ..спокойно, Маша, я - Дубровский...

    прежде чем кого-то в чем-то обвинять подумайте пару раз.

    специально для вас дамп струтуры таблицы, название которой вы написали "русским языком" (в кавычках - потому что оно(название) на английском все-таки :geek: )

    -- phpMyAdmin SQL Dump
    -- version 2.11.8.1deb5+lenny3
    -- http://www.phpmyadmin.net
    --
    -- Host: localhost
    -- Generation Time: Nov 28, 2010 at 09:24 PM
    -- Server version: 5.0.51
    -- PHP Version: 5.2.6-1+lenny4
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    
    --
    -- Database: `opencart_test`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Table structure for table `category_description`
    --
    
    CREATE TABLE IF NOT EXISTS `category_description` (
      `category_id` int(11) NOT NULL,
      `language_id` int(11) NOT NULL,
      `name` varchar(255) collate utf8_bin NOT NULL default '',
      `meta_keywords` varchar(255) collate utf8_bin NOT NULL,
      `meta_description` varchar(255) collate utf8_bin NOT NULL,
      `description` text collate utf8_bin NOT NULL,
      PRIMARY KEY  (`category_id`,`language_id`),
      KEY `name` (`name`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    

    если у вас действительно в базе "varchar(32)", то возможно это разница версий. я не особо разглядывал более ранние версии движка.

    а так, как ТС не указал, какую версию использует, то я и предположил, что у него примерно 1,4,9,1.

  18. посмотрите в сторону jQuery и будет вам счастье :)

    как я это вижу:

    у изображения товара есть id, у "изображений материалов" тоже делаем какие-то id.

    допустим id "изображений материалов" равен названию изображения без расширения (например "image2_material3"). если "image2_material3.png" - preview, а "image2_material3_big.png" - большая картинка, то тогда все очень просто:

    ставим на "изображения материалов"

    onclick="some_func(this.id);"
    саму функцию можно реализовать примерно так:

    function some_func(some_id) {
    $('#id_изображения_товара').attr('src', 'путь/до/измененных/изображений/товаров/'+some_id+'_big.png');
    }

    набросал на скорую руку.

    может чего не учел, но, надеюсь, идея понятна.

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

Important Information

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