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

Красивое описание товара [РЕШЕНО]


Recommended Posts

Здравствуйте...

Подскажите пожалуйста, в админке я заполняю описание, все с новой строки, но в списке товаров оно все в одну строчку... см. рис

vva.jpg

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

Заранее большое спасибо!

Надіслати
Поділитися на інших сайтах

Нажмите на "Источник" и попробуйте написать с кодом...

Или, переходите на новую строку (не клавишей Enter) а сочетанием "Shift + Enter" - иногда помогает.

  • +1 1
Надіслати
Поділитися на інших сайтах

Нажмите на "Источник" и попробуйте написать с кодом...

Или, переходите на новую строку (не клавишей Enter) а сочетанием "Shift + Enter" - иногда помогает.

коды не работают... тэги <br> не переносят... Сочитания так же не работают...

Выбор параметра списка так же не дает ничего...

В самом описании товара все хорошо и отображается как в админке, в кратком product-list когбудто без форматирования...

Пробовал использовать стиль, что и в полном описании товара не помогает...

Пробовал в category.php заменить на параметры description из product.php ошибку выдает...

Надіслати
Поділитися на інших сайтах

Когдато я делал как-то так

'description' =>html_entity_decode($result['description']),

Попробуйте может поможет.

Не работает... Пробую

'description' =>utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, ENT_HTML401, 'UTF-8')), 0, 100) . 

никакой реакции... Мне нужно, что б хотя б работали переносы в описании, а оно все-равно в одну строчку...

Даже добавил

ENT_HTML401

всеравно...

На сколько я понимаю html_entity_decode выполняет функцию декодирования кода в обычные слова (utf-8), а htmlentities наоборот создает из текста код если в нем используются коды... Но одного я понять не могу... В product.php используется тоже html_entity_decode как и в category.php ... Почему тогда в product.php отображает все правильно (как в админке с переносами т.п.), а в списке товаров category.php не отображает форматирование (хотя и там и там html_entity_decode)

Надіслати
Поділитися на інших сайтах

Странно, что никто не может помочь...

Хотя сколько просматривал магазинов на ОС никто это не реализовал...

Надіслати
Поділитися на інших сайтах

Мб не туда ввел?

www/catalog/controller/product/category.php

<?php
class ControllerProductCategory extends Controller {
public function index() {
 $this->language->load('product/category');

 $this->load->model('catalog/category');

 $this->load->model('catalog/product');

 $this->load->model('tool/image');

 if (isset($this->request->get['sort'])) {
  $sort = $this->request->get['sort'];
 } else {
  $sort = 'p.sort_order';
 }
 if (isset($this->request->get['order'])) {
  $order = $this->request->get['order'];
 } else {
  $order = 'ASC';
 }

 if (isset($this->request->get['page'])) {
  $page = $this->request->get['page'];
 } else {
  $page = 1;
 }

 if (isset($this->request->get['limit'])) {
  $limit = $this->request->get['limit'];
 } else {
  $limit = $this->config->get('config_catalog_limit');
 }

 $this->data['breadcrumbs'] = array();
 $this->data['breadcrumbs'][] = array(
	 'text'	  => $this->language->get('text_home'),
  'href'	  => $this->url->link('common/home'),
	 'separator' => false
 );

 if (isset($this->request->get['path'])) {
  $path = '';

  $parts = explode('_', (string)$this->request->get['path']);

  foreach ($parts as $path_id) {
if (!$path) {
 $path = (int)$path_id;
} else {
 $path .= '_' . (int)$path_id;
}

$category_info = $this->model_catalog_category->getCategory($path_id);

if ($category_info) {
	   $this->data['breadcrumbs'][] = array(
		'text'	  => $category_info['name'],
  'href'	  => $this->url->link('product/category', 'path=' . $path),
		'separator' => $this->language->get('text_separator')
	   );
}
  }

  $category_id = (int)array_pop($parts);
 } else {
  $category_id = 0;
 }

 $category_info = $this->model_catalog_category->getCategory($category_id);

 if ($category_info) {
  if ($category_info['seo_title']) {
  $this->document->setTitle($category_info['seo_title']);
  } else {
  $this->document->setTitle($category_info['name']);
  }
  $this->document->setDescription($category_info['meta_description']);
  $this->document->setKeywords($category_info['meta_keyword']);

  $this->data['seo_h1'] = $category_info['seo_h1'];
  $this->data['heading_title'] = $category_info['name'];

  $this->data['text_refine'] = $this->language->get('text_refine');
  $this->data['text_empty'] = $this->language->get('text_empty');  
  $this->data['text_quantity'] = $this->language->get('text_quantity');
  $this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
  $this->data['text_model'] = $this->language->get('text_model');
  $this->data['text_price'] = $this->language->get('text_price');
  $this->data['text_tax'] = $this->language->get('text_tax');
  $this->data['text_points'] = $this->language->get('text_points');
  $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
  $this->data['text_or'] = $this->language->get('text_or');
  $this->data['text_display'] = $this->language->get('text_display');
  $this->data['text_list'] = $this->language->get('text_list');
  $this->data['text_grid'] = $this->language->get('text_grid');
  $this->data['text_sort'] = $this->language->get('text_sort');
  $this->data['text_limit'] = $this->language->get('text_limit');

  $this->data['button_cart'] = $this->language->get('button_cart');
  $this->data['button_wishlist'] = $this->language->get('button_wishlist');
  $this->data['button_compare'] = $this->language->get('button_compare');
  $this->data['button_continue'] = $this->language->get('button_continue');

  if ($category_info['image']) {
$this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));
  } else {
$this->data['thumb'] = '';
  }

$this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
  $this->data['compare'] = $this->url->link('product/compare');

  $url = '';

  if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
  }
  if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
  }

  if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
  }

  $this->data['categories'] = array();

  $results = $this->model_catalog_category->getCategories($category_id);

  foreach ($results as $result) {
$data = array(
 'filter_category_id'  => $result['category_id'],
 'filter_sub_category' => true
);

$product_total = $this->model_catalog_product->getTotalProducts($data);  

$this->data['categories'][] = array(
 'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
 'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);
  }

  $this->data['products'] = array();

  $data = array(
'filter_category_id' => $category_id,
'sort'			   => $sort,
'order'			  => $order,
'start'			  => ($page - 1) * $limit,
'limit'			  => $limit
  );

  $product_total = $this->model_catalog_product->getTotalProducts($data);

  $results = $this->model_catalog_product->getProducts($data);

  foreach ($results as $result) {
if ($result['image']) {
 $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
} else {
 $image = false;
}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
 $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
 $price = false;
}

if ((float)$result['special']) {
 $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
 $special = false;
}

if ($this->config->get('config_tax')) {
 $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
} else {
 $tax = false;
}  

if ($this->config->get('config_review_status')) {
 $rating = (int)$result['rating'];
} else {
 $rating = false;
}

$this->data['products'][] = array(
 'product_id'  => $result['product_id'],
 'thumb'	   => $image,
 'name'		=> $result['name'],
 'description' => html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),
 'price'	   => $price,
 'special'	 => $special,
 'tax'		 => $tax,
 'rating'	  => $result['rating'],
 'reviews'	 => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
 'href'		=> $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])
);
  }

  $url = '';

  if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
  }

  $this->data['sorts'] = array();

  $this->data['sorts'][] = array(
'text'  => $this->language->get('text_default'),
'value' => 'p.sort_order-ASC',
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url)
  );


  $this->data['sorts'][] = array(
'text'  => $this->language->get('text_price_asc'),
'value' => 'p.price-ASC',
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)
  );
  $this->data['sorts'][] = array(
'text'  => $this->language->get('text_price_desc'),
'value' => 'p.price-DESC',
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url)
  );



  $url = '';

  if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
  }
  if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
  }

  $this->data['limits'] = array();

  $this->data['limits'][] = array(
'text'  => $this->config->get('config_catalog_limit'),
'value' => $this->config->get('config_catalog_limit'),
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $this->config->get('config_catalog_limit'))
  );

  $this->data['limits'][] = array(
'text'  => 25,
'value' => 25,
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=25')
  );

  $this->data['limits'][] = array(
'text'  => 50,
'value' => 50,
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=50')
  );
  $this->data['limits'][] = array(
'text'  => 75,
'value' => 75,
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=75')
  );

  $this->data['limits'][] = array(
'text'  => 100,
'value' => 100,
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=100')
  );

  $url = '';

  if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
  }
  if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
  }

  if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
  }

  $pagination = new Pagination();
  $pagination->total = $product_total;
  $pagination->page = $page;
  $pagination->limit = $limit;
  $pagination->text = $this->language->get('text_pagination');
  $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}');

  $this->data['pagination'] = $pagination->render();

  $this->data['sort'] = $sort;
  $this->data['order'] = $order;
  $this->data['limit'] = $limit;

  $this->data['continue'] = $this->url->link('common/home');
  if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
  } else {
$this->template = 'default/template/product/category.tpl';
  }

  $this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
  );

  $this->response->setOutput($this->render());		
 } else {
  $url = '';

  if (isset($this->request->get['path'])) {
$url .= '&path=' . $this->request->get['path'];
  }

  if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
  }
  if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
  }

  if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
  }

  if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
  }

  $this->data['breadcrumbs'][] = array(
'text'	  => $this->language->get('text_error'),
'href'	  => $this->url->link('product/category', $url),
'separator' => $this->language->get('text_separator')
  );

  $this->document->setTitle($this->language->get('text_error'));
	$this->data['heading_title'] = $this->language->get('text_error');
	$this->data['text_error'] = $this->language->get('text_error');
	$this->data['button_continue'] = $this->language->get('button_continue');
	$this->data['continue'] = $this->url->link('common/home');
  if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
$this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
  } else {
$this->template = 'default/template/error/not_found.tpl';
  }

  $this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
  );

  $this->response->setOutput($this->render());
 }
  }
}
?>

Надіслати
Поділитися на інших сайтах

У меня в файле category.php все аналогично. В двух местах ,как и у вас, написано "'description' => html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),".

Вы уверены что измененный файл на сервер залили?

А может быть вы не там смотрите на сайте? Не в категориях, а в поиске, например. Тогда надо так же изменить файл search.php, лежащий в той же папке.

  • +1 1
Надіслати
Поділитися на інших сайтах


У меня в файле category.php все аналогично. В двух местах ,как и у вас, написано "'description' => html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),".

Вы уверены что измененный файл на сервер залили?

А может быть вы не там смотрите на сайте? Не в категориях, а в поиске, например. Тогда надо так же изменить файл search.php, лежащий в той же папке.

Что Вы имеете ввиду? Я по www/catalog/controller/product данному пути...) Хотя заметил интересное, походу внутри не стоит изменять верхнюю строчку с такими же данными... там где находится переменная $category_info - а то не отображается описание категории...)

А вы б не могли пожалуйста скинуть структуру Ваших файликов product.php и category.php ...) Заранее пасибки... Мб как-то поможет...)

Надіслати
Поділитися на інших сайтах

Что Вы имеете ввиду? Я по www/catalog/controller/product данному пути...) Хотя заметил интересное, походу внутри не стоит изменять верхнюю строчку с такими же данными... там где находится переменная $category_info - а то не отображается описание категории...)

А вы б не могли пожалуйста скинуть структуру Ваших файликов product.php и category.php ...) Заранее пасибки... Мб как-то поможет...)

Как вы получаете список товара, где хотите поменять описание? Тут возможно два варианта:

1. Нажимаете на какую-нибудь подкатегорию

2. Вводите что-то в поле "поиск" и нажимаете "искать"

В первом случае надо менять файл catagory.php, а во-втором файл search.php

category.php

  • +1 1
Надіслати
Поділитися на інших сайтах


Как вы получаете список товара, где хотите поменять описание? Тут возможно два варианта:

1. Нажимаете на какую-нибудь подкатегорию

2. Вводите что-то в поле "поиск" и нажимаете "искать"

В первом случае надо менять файл catagory.php, а во-втором файл search.php

Вот, посмотрите... - http://android-marke...ategory&path=20 - это с установленными параметрами

Я смотрю непосредственно в категории

Надіслати
Поділитися на інших сайтах

Так у вас там какой-то модуль для фильтрации стоит. Это в нем надо искать, где описание выводится и там лечить. Попробуйте, для начала, этот модуль отключить.

  • +1 1
Надіслати
Поділитися на інших сайтах


Так у вас там какой-то модуль для фильтрации стоит. Это в нем надо искать, где описание выводится и там лечить. Попробуйте, для начала, этот модуль отключить.

Спасииииииибо)))) :wub:

В фильтре используется код:

$description = function_exists('utf8_substr') ?
utf8_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0,
100) . '..' :

substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..';

и ниже на вывод:

'description' => $description,

подскажи пожалуйста, как его сократить и сделать юзабельным... Как не сокращаю ошибка...

Надіслати
Поділитися на інших сайтах

Если мне не изменяет гугл, то strip_tags режет html тэги (как раз превращает форматированный текст в обычный), а substr выводит только первые 100 символов.

Можно изменить функцию

$description = function_exists('utf8_substr') ?
utf8_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0,
100) . '..' :
substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..';

заменить на

$description = html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8');

ЛИБО изменить вызов этой функции

'description' => $description,

заменить на

'description' => html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8'),

  • +1 1
Надіслати
Поділитися на інших сайтах


Если мне не изменяет гугл, то strip_tags режет html тэги (как раз превращает форматированный текст в обычный), а substr выводит только первые 100 символов.

Можно изменить функцию

$description = function_exists('utf8_substr') ?
utf8_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0,
100) . '..' :
substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..';

заменить на

$description = html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8');

ЛИБО изменить вызов этой функции

'description' => $description,

заменить на

'description' => html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8'),

В обоих случаях оно отображает в описании теги как текст... Вот как на скриншоте внизу сообщения... :(

Помогите уже добить его)

Вот полный код скрипта:

<?php
class ControllerModuleFilterPro extends Controller {
protected function index($setting) {
 $this->language->load('module/filterpro');
 $this->data['text_tax'] = $this->language->get('text_tax');
 $this->data['button_cart'] = $this->language->get('button_cart');
 $this->data['button_wishlist'] = $this->language->get('button_wishlist');
 $this->data['button_compare'] = $this->language->get('button_compare');
 $this->data['text_price_range'] = $this->language->get('text_price_range');
 $this->data['text_manufacturers'] = $this->language->get
('text_manufacturers');
 $this->data['text_attributes'] = $this->language->get('text_attributes');
 $this->data['text_all'] = $this->language->get('text_all');
 $this->data['clear_filter'] = $this->language->get('clear_filter');
 $this->data['heading_title'] = $this->language->get('heading_title');
 $this->data['pds_sku'] = $this->language->get('pds_sku');
 $this->data['pds_upc'] = $this->language->get('pds_upc');
 $this->data['pds_location'] = $this->language->get('pds_location');
 $this->data['pds_model'] = $this->language->get('pds_model');
 $this->data['pds_brand'] = $this->language->get('pds_brand');
 $this->data['pds_stock'] = $this->language->get('pds_stock');
 $this->data['setting'] = $setting;
 if(VERSION == '1.5.0') {
  $filterpro_setting = unserialize($this->config->get
('filterpro_setting'));
 } else {
  $filterpro_setting = $this->config->get('filterpro_setting');
 }
 $category_id = 0;
 $this->data['path'] = "";
 if(isset($this->request->get['path'])) {
  $this->data['path'] = $this->request->get['path'];
  $parts = explode('_', (string)$this->request->get['path']);
  $category_id = array_pop($parts);
 }
 $this->data['category_id'] = $category_id;
 $this->load->model('module/filterpro');
 $this->data['manufacturers'] = false;
 if($filterpro_setting['display_manufacturer'] != 'none') {
  $this->data['manufacturers'] = $this->model_module_filterpro-
>getManufacturersByCategoryId($category_id);
  $this->data['display_manufacturer'] = $filterpro_setting
['display_manufacturer'];
 }
 $this->data['options'] = $this->model_module_filterpro-
>getOptionsByCategoryId($category_id);
 foreach($this->data['options'] as $i => $option) {
  $display_option = $filterpro_setting['display_option_' . $option
['option_id']];
  if($display_option != 'none') {
   $this->data['options'][$i]['display'] = $display_option;
  } else {
   unset($this->data['options'][$i]);
  }
 }
 $this->data['attributes'] = $this->model_module_filterpro-
>getAttributesByCategoryId($category_id);
 foreach($this->data['attributes'] as $j => $attribute_group) {
  foreach($attribute_group['attribute_values'] as $attribute_id =>
$attribute) {
   $display_attribute = $filterpro_setting['display_attribute_'
. $attribute_id];
   if($display_attribute != 'none') {
 $this->data['attributes'][$j]['attribute_values']
[$attribute_id]['display'] = $display_attribute;
   } else {
 unset($this->data['attributes'][$j]
['attribute_values'][$attribute_id]);
 if(!$this->data['attributes'][$j]
['attribute_values']) {
  unset($this->data['attributes'][$j]);
 }
   }
  }
 }
 $this->data['price_slider'] = $filterpro_setting['price_slider'];
 if($this->data['options'] || $this->data['manufacturers'] || $this->data
['attributes'] ||$this->data['price_slider']) {
  $this->document->addScript
('catalog/view/javascript/jquery/jquery.tmpl.min.js');
  $this->document->addScript
('catalog/view/javascript/jquery/jquery.deserialize.js');
  $this->document->addScript
('catalog/view/javascript/filterpro.min.js');
  $this->document->addStyle
('catalog/view/theme/default/stylesheet/filterpro.css');
 }
 if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') .
'/template/module/filterpro.tpl')) {
  $this->template = $this->config->get('config_template') .
'/template/module/filterpro.tpl';
 } else {
  $this->template = 'default/template/module/filterpro.tpl';
 }
 $this->render();
}
private function array_clean(array $haystack) {
 foreach($haystack as $key => $value) {
  if(is_array($value)) {
   $haystack[$key] = $this->array_clean($value);
   if(!count($haystack[$key])) {
 unset($haystack[$key]);
   }
  } elseif(is_string($value)) {
   $value = trim($value);
   if(!$value) {
 unset($haystack[$key]);
   }
  }
 }
 return $haystack;
}
public function getProducts() {
 //  $cache = md5(http_build_query($this->request->post));
 //  $json = $this->cache->get('filterpro.' . (int)$this->config-
>get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' .
$cache);
 //  if(!$json) {
 $this->language->load('module/filterpro');
 if(VERSION == '1.5.0') {
  $filterpro_setting = unserialize($this->config->get
('filterpro_setting'));
 } else {
  $filterpro_setting = $this->config->get('filterpro_setting');
 }

 $page = 1;
 if(isset($this->request->post['page'])) {
  $page = (int)$this->request->post['page'];
 }
 if(isset($this->request->post['sort'])) {
  $sort = $this->request->post['sort'];
 } else {
  $sort = 'p.sort_order';
 }
 if(isset($this->request->post['order'])) {
  $order = $this->request->post['order'];
 } else {
  $order = 'ASC';
 }
 if(isset($this->request->post['limit'])) {
  $limit = $this->request->post['limit'];
 } else {
  $limit = $this->config->get('config_catalog_limit');
 }

 $this->load->model('module/filterpro');
 $this->load->model('catalog/product');
 $this->load->model('tool/image');
 $manufacturer = false;
 if(isset($this->request->post['manufacturer'])) {
  $manufacturer = $this->array_clean($this->request->post
['manufacturer']);
  if(!count($manufacturer)) {
   $manufacturer = false;
  }
 }
 $option_value = false;
 if(isset($this->request->post['option_value'])) {
  $option_value = $this->array_clean($this->request->post
['option_value']);
  if(!count($option_value)) {
   $option_value = false;
  }
 }
 $attribute_value = false;
 if(isset($this->request->post['attribute_value'])) {
  $attribute_value = $this->array_clean($this->request->post
['attribute_value']);
  if(!count($attribute_value)) {
   $attribute_value = false;
  }
 }
 $data = array(
  'option_value' => $option_value,
  'manufacturer' => $manufacturer,
  'attribute_value' => $attribute_value,
  'category_id' => $this->request->post['category_id'],
  'min_price' => $this->request->post['min_price'],
  'max_price' => $this->request->post['max_price'],
  'start' => ($page - 1) * $limit,
  'limit' => $limit,
  'sort' => $sort,
  'order' => $order
 );
 $product_total = $this->model_module_filterpro->getTotalProducts($data);
 $totals_manufacturers = $this->model_module_filterpro->getTotalManufacturers
($data);
 $totals_options = $this->model_module_filterpro->getTotalOptions($data);
 $totals_attributes = $this->model_module_filterpro->getTotalAttributes
($data);
 $products = $this->model_module_filterpro->getProducts($data);

 $result = array();
 $min_price = false;
 $max_price = false;
 if(isset($this->request->post['getPriceLimits']) && $this->request->post
['getPriceLimits']) {
  $priceLimits = $this->model_module_filterpro->getPriceLimits($data);
  $min_price = $priceLimits['min_price'];
  $max_price = $priceLimits['max_price'];
 }
 foreach($products as $product) {
  if($product['image']) {
   $image = $this->model_tool_image->resize($product['image'],
$this->config->get('config_image_product_width'), $this->config->get
('config_image_product_height'));
  } else {
   $image = false;
  }
  if(($this->config->get('config_customer_price') && $this->customer-
>isLogged()) || !$this->config->get('config_customer_price')) {
   $price = $this->currency->format($this->tax->calculate
($product['price'], $product['tax_class_id'], $this->config->get('config_tax')));
  } else {
   $price = false;
  }
  if((float)$product['special']) {
   $special = $this->currency->format($this->tax->calculate
($product['special'], $product['tax_class_id'], $this->config->get('config_tax')));
  } else {
   $special = false;
  }
  if($this->config->get('config_tax')) {
   $tax = $this->currency->format((float)$product['special'] ?
$product['special'] : $product['price']);
  } else {
   $tax = false;
  }
  if($this->config->get('config_review_status')) {
   $rating = (int)$product['rating'];
  } else {
   $rating = false;
  }
$description = function_exists('utf8_substr') ?
utf8_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0,
100) . '..' :
substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 100)
. '..';
  if($product['quantity'] <= 0) {
   $rstock = $product['stock_status'];
  } elseif($this->config->get('config_stock_display')) {
   $rstock = $product['quantity'];
  } else {
   $rstock = $this->language->get('text_instock');
  }
  $result[] = array(
   'product_id' => $product['product_id'],
   'sku' => $filterpro_setting['sku_display'] ? $product['sku']
: false,
   'model' => $filterpro_setting['model_display'] ? $product
['model'] : false,
   'brand' => $filterpro_setting['brand_display'] ? $product
['manufacturer'] : false,
   'location' => $filterpro_setting['location_display'] ?
$product['location'] : false,
   'upc' => $filterpro_setting['upc_display'] ? $product['upc']
: false,
   'stock' => $filterpro_setting['stock_display'] ? $rstock :
false,
   'image' => $image,
   'thumb' => $image,
   'special' => $special,
   'tax' => $tax,
   'rating' => $rating,
   'name' => $product['name'],
   'description' => $description,
   'price' => $price,
   'href' => $this->url->link('product/product', (isset($this-
>request->post['path']) ? 'path=' . $this->request->post['path']
  : '') . '&product_id=' . $product
['product_id'])
  );
 }
 $pagination = new Pagination();
 $pagination->total = $product_total;
 $pagination->page = $page;
 $pagination->limit = $limit;
 $pagination->text = $this->language->get('text_pagination');
 $pagination->url = 'page={page}';
 $min_price = $this->currency->convert($min_price, $this->config->get
('config_currency'), $this->currency->getCode());
 $max_price = $this->currency->convert($max_price, $this->config->get
('config_currency'), $this->currency->getCode());
 $json = json_encode(array('result' => $result, 'min_price' => $min_price,
'max_price' => $max_price, 'pagination' => $pagination->render(),
	 'totals_data' => array
('manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' =>
$totals_attributes)));
 //   $this->cache->set('filterpro.' . (int)$this->config-
>get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $cache,
$json);
 //  }
 $this->response->setOutput($json);
}
}
?>

post-17442-0-62029600-1361919445_thumb.jpg

Надіслати
Поділитися на інших сайтах

Видимо оно скрывало все тэги(stripn_tags) и писало в строчку, потому, что сама функция обработки тэгов не подключена в данный фильтр... Посему оно скрывает тэги, что б они не отображались как на скрине... Нужно как-то подключить функцию обработки тэгов в этот фильтр... Только вот не могу понять как...

Надіслати
Поділитися на інших сайтах

Ну больше я ничего посоветовать без самого модуля не могу. Дай ссылку на этот модуль.

Вот этот фильтр... Посмотри пожалуйста - http://webfile.ru/6402128

Надіслати
Поділитися на інших сайтах

Народ, ну что сможете помочь? Как сделать в отдельном фильтре обработку html тегов для описания... Без фильтра все работает... С фильтром оно не активирует теги в описании товара...

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

Извините что пишу тут

Но может кто нибудь знает или возможно ли сделать ограничение символов

'description'=> html_entity_decode($result['description'], ENT_QUOTES,'UTF-8'),

Тоесть что бы текст выводился в разные строчки но и ограничение на символы было

Заранее спасибо!

Надіслати
Поділитися на інших сайтах


Возможно ли:

Чтобы текст в категориях был как в админке (с новой строки и совсем форматированием), но чтобы количесвто текста было было ограничено например 200 символов везде.

Тоесть

Есть три столбика (в одном столбике один товар). В каждом товаре разное описание где то больше где то меньше. Я бы хотел что бы в категориях можно было опубликовать определенное количество описания (тоесть 200 символов например)

Столбик 1 Столбик2 Столбик3

описание1 описание2 описание3

описание1 описание2 описание3

описание1 описание2 описание3

описание1 описание2 описание3

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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