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

Рекомендуемые сообщения

Решил я добавить себе в админку новый столбец для вывода ID товаров перед картинкой.

Добавил соответствующие изменения в файлы:

\admin\view\template\catalog\product_list.tpl

\admin\controller\catalog\product.php

\admin\language\russian\catalog\product.php

На первой странице все хорошо:

4xGIpLyE.jpg

 

А вот после переходов через пагинацию, даже после возврата на первую страницу, столбец ID пропадает и все остальные смещаются влево:

4xGIpLyF.jpg

 

Кто-нибудь знает, как побороть сей недуг пагинации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все, справился.

В скрипте пагинации еще надо было добавить поле ID

Осталось заморочиться с полем подбора по ID, чтобы не листать весь список....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

движок? версия? похоже на ajax.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

движок? версия? похоже на ajax.

 

ocStore Версия 1.5.5.1.2

Да, это Ajax

Поле ввода скопировал от модели, все остальное от filter_model скопировал и вставил, переименовав model в product_id

в файле \admin\controller\catalog\product.php

очень много мест оказалось с подобными вставками.

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

 

Вот так выглядит до ввода цифр:

4xGIpLyK.jpg

 

А вот так - после ввода:

4xGIpLyL.jpg

 

Очевидно, что он не пытается подобрать ID по введенным цифрам. Думал, что в регулярке цифр нет, но на модели проверил - есть и работает выбор по цифрам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

смотрите в шаблоне (непосредственно отправка, вывод/подстановка - делайте для product_id).

$('input[name=\'filter_model\']').autocomplete({
+ в контроллере товара

public function autocomplete() {
туда все идет - видно по адресу в ajax выше.

+

getProducts() в модели товаров (сама выборка).

Изменено пользователем afwollis
привел сообщение в порядок ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

смотрите в шаблоне (непосредственно отправка, вывод/подстановка - делайте для product_id).

$('input[name=\'filter_model\']').autocomplete({
+ в контроллере товара

public function autocomplete() {
туда все идет - видно по адресу в ajax выше.

+

getProducts() в модели товаров (сама выборка).

 

В самом шаблоне я уже сделал:

var filter_model = $('input[name=\'filter_model\']').attr('value');
if (filter_model) {
url += '&filter_model=' + encodeURIComponent(filter_model);
}

var filter_product_id = $('input[name=\'filter_product_id\']').attr('value');
if (filter_product_id) {
url += '&filter_product_id=' + encodeURIComponent(filter_product_id);
}

Вот в автокомлите:

	public function autocomplete() {
		$json = array();
		
		if (isset($this->request->get['filter_name']) || isset($this->request->get['filter_model']) || isset($this->request->get['filter_product_id']) || isset($this->request->get['filter_category_id'])) {
			$this->load->model('catalog/product');
			$this->load->model('catalog/option');
			
			if (isset($this->request->get['filter_name'])) {
				$filter_name = $this->request->get['filter_name'];
			} else {
				$filter_name = '';
			}
			
			if (isset($this->request->get['filter_model'])) {
				$filter_model = $this->request->get['filter_model'];
			} else {
				$filter_model = '';
			}
			
			if (isset($this->request->get['filter_product_id'])) {
				$filter_product_id = $this->request->get['filter_product_id'];
			} else {
				$filter_product_id = '';
			}
			
			if (isset($this->request->get['limit'])) {
				$limit = $this->request->get['limit'];	
			} else {
				$limit = 20;	
			}			
						
			$data = array(
				'filter_name'  => $filter_name,
				'filter_model' => $filter_model,
				'filter_product_id' => $filter_product_id,
				'start'        => 0,
				'limit'        => $limit
			);
			
			if (isset($this->request->get['filter_category_id'])) {
				$data['filter_category_id'] = $this->request->get['filter_category_id'];
			}
			
			$results = $this->model_catalog_product->getProducts($data);
			
			foreach ($results as $result) {
				$option_data = array();
				
				$product_options = $this->model_catalog_product->getProductOptions($result['product_id']);	
				
				foreach ($product_options as $product_option) {
					$option_info = $this->model_catalog_option->getOption($product_option['option_id']);
					
					if ($option_info) {				
						if ($option_info['type'] == 'select' || $option_info['type'] == 'radio' || $option_info['type'] == 'checkbox' || $option_info['type'] == 'image') {
							$option_value_data = array();
							
							foreach ($product_option['product_option_value'] as $product_option_value) {
								$option_value_info = $this->model_catalog_option->getOptionValue($product_option_value['option_value_id']);
						
								if ($option_value_info) {
									$option_value_data[] = array(
										'product_option_value_id' => $product_option_value['product_option_value_id'],
										'option_value_id'         => $product_option_value['option_value_id'],
										'name'                    => $option_value_info['name'],
										'price'                   => (float)$product_option_value['price'] ? $this->currency->format($product_option_value['price'], $this->config->get('config_currency')) : false,
										'price_prefix'            => $product_option_value['price_prefix']
									);
								}
							}
						
							$option_data[] = array(
								'product_option_id' => $product_option['product_option_id'],
								'option_id'         => $product_option['option_id'],
								'name'              => $option_info['name'],
								'type'              => $option_info['type'],
								'option_value'      => $option_value_data,
								'required'          => $product_option['required']
							);	
						} else {
							$option_data[] = array(
								'product_option_id' => $product_option['product_option_id'],
								'option_id'         => $product_option['option_id'],
								'name'              => $option_info['name'],
								'type'              => $option_info['type'],
								'option_value'      => $product_option['option_value'],
								'required'          => $product_option['required']
							);				
						}
					}
				}
					
				$json[] = array(
					'product_id' => $result['product_id'],
					'name'       => strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8')),	
					'model'      => $result['model'],
					'product_id'  => $result['product_id'],
					'option'     => $option_data,
					'price'      => $result['price']
				);	
			}
		}

		$this->response->setOutput(json_encode($json));
	}

Но с этим не работает.

Можно немного подробнее по поводу последнего?

 

 

getProducts() в модели товаров (сама выборка). 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос все еще не решен.

Помощь актуальна!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если еще актуально - вот решение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От AnorGarde
      Страница с id:     /katalog/?page=1111
      отсутствует на сайте. И опенкарт любезно пишет, что в этой категории нет товаров.
      Нужно вместо этой надписи выводить 404 страницу. Как?
      Движ 1.5, SeoPro
      Подскажите, пожалуйста.
    • От efremovav
      Скачать/Купить дополнение


      Order Control - Улучшенное управление заказами (oc 1.5.x)
      Модуль предлагает альтернативу странице списка заказов в админке, и дополняет функционал.
      На данный момент имеются следующие возможности:
      -обновление заказов в реальном времени (без перезагрузки страницы, интервал проверки 20 секунд) - при появлении нового заказа обновляется список заказов и всплывает уведомление;
      -поиск по заказам без перезагрузки страницы;
      -возможность назначения цветов для заказов в зависимости от статуса заказа.
      В разработке:
      -улучшенные (упрощенные) страницы оформления заказа и просмотра заказа в админке;
      -ведение расширенной статистики по пользователям админки и созданным ими заказам (введение понятия "ответственный за заказ");
      -добавление звукового уведомления о новом заказе в админке, и вывод оповещения на всех страницах.
      Демонстрация работы модуля тут, настройки модуля тут (логин\пароль demo\demo).
      Требования:
      Opencart\ocStore версия 1.5.x
      наличие установленного VQMOD
      Как установить:
      -копируете содержимое из папки upload в корень сайта;
      -в настройках системы включаете модуль и задаете права на редактирование;
      -модуль будет доступен в списке модулей как "Order Control - Улучшенное управление заказами".
      P.S.: Стандартные файлы движка не заменяются.
      Ваши предложения по улучшению модуля и расширению его возможностей пишите в теме поддержки файла.
      Добавил efremovav Добавлено 29.02.2016 Категория Модули  
    • От Otvet
      320.00 руб · Срок продления: 100.00 руб за 12 месяцев
      Скачать/Купить дополнение


      [SEO] Full IndeX : Улучшение индексации

       
      Основа:
       
      Модуль помогает улучшить индексацию, более продуктивно "прокачать"1 товары и решить проблему дублирования2 страниц постраничной навигации, что позволяет поднять в выдаче НЧ-запросы страниц товаров расположенных на удаленных страницах. Управлять множеством факторов и решает ряд недочетов в Opencart.
       
       
       
       
      Что делает модуль:
      позволяет устранить большой ряд дублей способствует распределению веса и более полной перелинковке позволяет гибко управлять выводом атрибутов prev | next и правильно объединять страницы в одну цепочку  по рекомендации google уникализирует страницы (они перестают быть дублями), в том числе: шаблоны мета-данных, шаблон заголовков, скрытие/закрытие сквозных блоков валидация и исправление значений стандартных параметров позволяет гибко управлять выводом canonical, с учетом таких факторов как тип url и путь в url, когда нужно и где нужно способствует полноценной индексации товаров при отсутствии sitemap (либо когда не принимается яндексом из-за размера) управление get-параметрами (редиректы, canonical, seo_pro) позволяет полноценно использовать seo-фильтры позволяет убирать "хвосты" в индексе позволяет блокировать индексации отзывов как отдельного документа и сделать в то же время более полную индексацию отзывов способствует заполнению анкор листа товаров на страницах 2 и далее посадочные страницы категория/бренд, для исключения дублей и использования в продвижении исправление ссылок и багов пагинаций фикс кучи мелких проблем и недоработок в опенкарт и многое другое  
      ЕЩЕ больше функционала:
       
      Для более продуктивной борьбы с дублями так же крайне желательно наличие SEO_Pro и правильного robots.txt
       
      [bonus] Sitemap Lite (OCMOD для opencart 2.x):
      заменяет оригинальный catalog/controller/feed/google_sitemap.php
      ускоренная генерация благодаря собственной функции выборки товаров (~ в 10 раз) добавление lastmod (значительно ускоряет индексацию) устранение дублей товаров валидация яндексом фикс &amp при использовании seo_pro т.к. бонус не подпадает под стандартную поддержку  
      Для автоматического заполнения SEO URL (ЧПУ) можно установить это дополнение: https://opencartforum.com/files/file/2833-автоматическое-заполнение-чпу-ocmod/ и/или https://opencartforum.com/files/file/5570-fx-url-generator-free/
       
      Преимущества перед закрытием страниц в robots.txt
      Преимущества перед директивой noindex (no)follow
      Преимущества перед простым открытием страниц для индексации
      Преимущества перед директивой canonical
      Для проверки работы после установки напишите адрес сайта в ЛС автору
      "Цитаты великих" или "А нужен ли модуль?"
       
      Для более продуктивной борьбы с дублями так же крайне желательно наличие SEO_Pro и правильного robots.txt
       
       
      1 - Обособленные страницы (доступные только через sitemap) не получают статический вес [PR] и имеют пустой анкор-лист.
      2 - Чем плохи дубли:
      ухудшают и замедляют индексацию потеря веса (pagerank) "основной" страницей категории/производителя часть товаров не могут получить внутренний вес ______________________________________________________
      Добавил Otvet Добавлено 15.08.2015 Категория SEO, карта сайта, оптимизация Системные требования умение читать инструкцию, работающий установщик Сайт разработчика http://full-index.ru Старая цена 399 Метод активации По запросу в ЛС
      По запросу на почту
      По емейлу
      Автоматическая активация
      Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • От Otvet
      Основа:
       
      Модуль помогает улучшить индексацию, более продуктивно "прокачать"1 товары и решить проблему дублирования2 страниц постраничной навигации, что позволяет поднять в выдаче НЧ-запросы страниц товаров расположенных на удаленных страницах. Управлять множеством факторов и решает ряд недочетов в Opencart.
       
       
       
       
      Что делает модуль:
      позволяет устранить большой ряд дублей способствует распределению веса и более полной перелинковке позволяет гибко управлять выводом атрибутов prev | next и правильно объединять страницы в одну цепочку  по рекомендации google уникализирует страницы (они перестают быть дублями), в том числе: шаблоны мета-данных, шаблон заголовков, скрытие/закрытие сквозных блоков валидация и исправление значений стандартных параметров позволяет гибко управлять выводом canonical, с учетом таких факторов как тип url и путь в url, когда нужно и где нужно способствует полноценной индексации товаров при отсутствии sitemap (либо когда не принимается яндексом из-за размера) управление get-параметрами (редиректы, canonical, seo_pro) позволяет полноценно использовать seo-фильтры позволяет убирать "хвосты" в индексе позволяет блокировать индексации отзывов как отдельного документа и сделать в то же время более полную индексацию отзывов способствует заполнению анкор листа товаров на страницах 2 и далее посадочные страницы категория/бренд, для исключения дублей и использования в продвижении исправление ссылок и багов пагинаций фикс кучи мелких проблем и недоработок в опенкарт и многое другое  
      ЕЩЕ больше функционала:
       
      Для более продуктивной борьбы с дублями так же крайне желательно наличие SEO_Pro и правильного robots.txt
       
      [bonus] Sitemap Lite (OCMOD для opencart 2.x):
      заменяет оригинальный catalog/controller/feed/google_sitemap.php
      ускоренная генерация благодаря собственной функции выборки товаров (~ в 10 раз) добавление lastmod (значительно ускоряет индексацию) устранение дублей товаров валидация яндексом фикс &amp при использовании seo_pro т.к. бонус не подпадает под стандартную поддержку  
      Для автоматического заполнения SEO URL (ЧПУ) можно установить это дополнение: https://opencartforum.com/files/file/2833-автоматическое-заполнение-чпу-ocmod/ и/или https://opencartforum.com/files/file/5570-fx-url-generator-free/
       
      Преимущества перед закрытием страниц в robots.txt
      Преимущества перед директивой noindex (no)follow
      Преимущества перед простым открытием страниц для индексации
      Преимущества перед директивой canonical
      Для проверки работы после установки напишите адрес сайта в ЛС автору
      "Цитаты великих" или "А нужен ли модуль?"
       
      Для более продуктивной борьбы с дублями так же крайне желательно наличие SEO_Pro и правильного robots.txt
       
       
      1 - Обособленные страницы (доступные только через sitemap) не получают статический вес [PR] и имеют пустой анкор-лист.
      2 - Чем плохи дубли:
      ухудшают и замедляют индексацию потеря веса (pagerank) "основной" страницей категории/производителя часть товаров не могут получить внутренний вес ______________________________________________________
    • От ibond
      Скачать/Купить дополнение


      Фильтр товаров в админке по производителям, артикулу и категориям
      Дополнение добавляет возможность фильтровать товары в административной панели Opencart по производителям, артикулу (Sku) и категориям (только для русской сборки и оригинальной версии). Также добавляет колонку Категории в списке товара (только для русской сборки и оригинальной версии).
      Работает (тестировался):
      OcStore 2.1.0.1, 2.1.0.2.1, 2.3.0.2, 2.3.0.2.1
      OpenCart 2.1.0.2, 2.3.0.2, 2.3.0.2 (rs.5)
      Установка:
      Загрузить файл в установках расширений, перейти в модификаторы и обновить.
       
      Если Вы хотите как-то отблагодарить меня, то можете это сделать, пожертвовав любую сумму через систему Webmoney на мои кошельки: R290391741542, Z270297495254. Разумеется, делать пожертвование не обязательно. Это Ваш добровольный шаг. Позыв к нему должен исходить из глубин вашей души, от чистого сердца.
      Добавил ibond Добавлено 20.11.2016 Категория Фильтры Системные требования Сайт разработчика https://opencartforum.com/profile/28580-ibond/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×