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

Модуль новостей "News Module"


Recommended Posts

Имя файла: Модуль новостей "News Module"

Владелец файла: palcet

Файл размещен: 08 окт. 2011

Категория файла: Модули

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

Нажмите сюда, чтобы скачать этот файл

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


Имя файла: Модуль новостей "News Module"

Добрый день!

в описании сказана очень важная для меня фраза:"2. Исправлено обрезание по заданному количеству символов (знак ? теперь не отображается)"

подскажи, насколько трудоемко переделать модуль, чтобы избавиться от этого самого знака "?" есть модуль под Opencart 1.4.8x , но пользоваться им из-за этого бага невозможно. Писал автору, ответа нет. Он похоже вообще с юникодом не сильно заморачивается :( , нет оно конечно нормально для английских символов а вот для расширенных таблиц, мимо него проходит :)

тут можно скачать сам модуль - https://opencartforum.com/topic/4027-%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d1%8c-%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b8%d0%b1%d0%bb%d0%be%d0%b3-%d0%b4%d0%bb%d1%8f-148-149%d1%85/

PS Автор у всех этих новостных плагинов один - "Fido-X" , поэтому смею предположить, что проблема решается не сложно, раз уже дорожка протоптана :)

Надеюсь на помощь :)

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


Да нет совсем не сложно убрать знак ? в модуле под Opencart 1.4.8x, делаем так:

1. Открываем файл catalog/controller/information/news.php

Ищем:

$this->data['news_data'][] = array(

Выше вставляем:

$cut_descr_symbols = $this->config->get('news_headline_chars');$descr_plaintext = strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'));if( mb_strlen($descr_plaintext, 'UTF-8') > $cut_descr_symbols ){$descr_plaintext = mb_substr($descr_plaintext, 0, $cut_descr_symbols, 'UTF-8');}

Там же чуть ниже ищем:

'description'  => substr(html_entity_decode($result['description']), 0, $this->config->get('news_headline_chars')),

Заменяем на это:

'description' => $descr_plaintext,

2. Открываем файл catalog/controller/module/news.php

Ищем:

$this->data['news'][] = array(

Выше вставляем:

$cut_descr_symbols = $this->config->get('news_module_chars');$descr_plaintext = strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'));if( mb_strlen($descr_plaintext, 'UTF-8') > $cut_descr_symbols ){$descr_plaintext = mb_substr($descr_plaintext, 0, $cut_descr_symbols, 'UTF-8');}

Там же чуть ниже ищем:

'description'  => substr(html_entity_decode($result['description']), 0, $this->config->get('news_module_chars')),

Заменяем на это:

'description' => $descr_plaintext,

Все. Убирает знак ? на 100% Можете ставить кол-во символов хоть 35, хоть 255

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


А вообще у меня есть модуль новостей рабочий для opencart 1.4.x

Вот ссылка: Модуль'>http://=^_^=.ru/module/49-modul-novostey-dlya-opencart.html"]Модуль новостей для OpenCart v.1.4.9.x

Там этих багов со знаком ? нет. К тому же SEO работает.

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


Добрый день, а не могли бы Вы подсказать, если нужно выводить разные новости для разных категорий, это только путем добавления новой схемы для каждой категории, или все таки может как то попроще это можно сделать?

Версия OpenCart 1.5.1

PS Заранее благодарен за помощь

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


Единственное, чего не хватает это вывода новостей в sitemap.

Есть ли в планах данная реализация?

В этом модуле есть опция ЧПУ, но при заполнении все равно не работает.

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


  • 3 weeks later...

Модуль неплохой, немного запутанно добавление новостей, но в целом, понравился.

Для нормальной работы исправил:

			$this->load->model('tool/image');			if ($news_info['image']) {				$this->data['image'] = TRUE;			} else {				$this->data['image'] = FALSE;			}			$this->data['min_height'] = $this->config->get('news_thumb_height');			$this->data['thumb'] = $this->model_tool_image->resize($news_info['image'], $this->config->get('news_thumb_width'), $this->config->get('news_thumb_height'));			$this->data['popup'] = $this->model_tool_image->resize($news_info['image'], $this->config->get('news_popup_width'), $this->config->get('news_popup_height'));

на:

			if ($news_info['image']) {                $this->load->model('tool/image');			 				$this->data['image'] = TRUE;    			$this->data['min_height'] = $this->config->get('news_thumb_height');        			$this->data['thumb'] = $this->model_tool_image->resize($news_info['image'], $this->config->get('news_thumb_width'), $this->config->get('news_thumb_height'));    			$this->data['popup'] = $this->model_tool_image->resize($news_info['image'], $this->config->get('news_popup_width'), $this->config->get('news_popup_height'));                			} else {				$this->data['image'] = FALSE;			}

Объясню почему. Вы проверяете задана ли картинка и при любом раскладе подключаете tool/image, далее делаете резайз несуществующей картинки, для чего? Без картинки на странице с новостью будут ошибки, если поправить, как показано выше, — все будет в порядке.

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


Спасибо за модуль. Очень нужная вещь. У меня всё работает как часы. Пришлось только немного подправить сео_урл (с помощью вашего способа) и всё стало окей.

Если используется Сео_модуль от украинских ребят http://forum.opencart-ua.org/viewtopic.php?f=5&t=120

То нужно просто немного изменить файл /vqmod/xml/ocu_seo.xml

Копируем все ниже, и заменяем все в нашем файле ocu_seo.xml, затем Сохранить.

<modification>    <id>SEO Mod by OpenCart Ukrainian Team</id>    <version>1.5.1</version>    <vqmver>1.3.5/28.08.2011</vqmver>    <author>Eugene Kuligin (a.k.a. Shaman)</author>    <file name="system/library/url.php">        <operation>            <search position="replace">                <![CDATA[return $this->rewrite($url);]]>            </search>            <add>                <![CDATA[                    if ($route == 'common/home' && empty($args)) {                        return false;                    } else {                        return $this->rewrite($url);                    }                ]]>            </add>        </operation>        <operation>            <search position="before">                <![CDATA[return $this->rewrite($url);]]>            </search>            <add>                <![CDATA[                    if ($route == 'product/product') {                        $url = preg_replace(array('|&manufacturer_id=[\d]+|i', '|&path=[\d_]+|i'), false, $url);                    }                ]]>            </add>        </operation>    </file>    <file name="catalog/controller/product/product.php">        <operation>            <search position="replace">                <![CDATA[if (isset($this->request->get['path'])) {]]>            </search>            <add>                <![CDATA[                    if (isset($this->request->cookie['path'])) {                ]]>            </add>        </operation>        <operation>            <search position="replace">                <![CDATA[$url .= '&path=' . $this->request->get['path'];]]>            </search>            <add>                <![CDATA[                    //$url .= '&path=' . $this->request->get['path'];                ]]>            </add>        </operation>        <operation>            <search position="replace">                <![CDATA[foreach (explode('_', $this->request->get['path']) as $path_id) {]]>            </search>            <add>                <![CDATA[                    foreach (explode('_', $this->request->cookie['path']) as $path_id) {                ]]>            </add>        </operation>        <operation>            <search position="replace">                <![CDATA[$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];]]>            </search>            <add>                <![CDATA[                    //$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];                ]]>            </add>        </operation>        <operation>            <search position="replace">                <![CDATA[$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']);]]>            </search>            <add>                <![CDATA[                    $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->cookie['manufacturer_id']);                ]]>            </add>        </operation>        <operation>            <search position="replace">                <![CDATA[if (isset($this->request->get['manufacturer_id'])) {]]>            </search>            <add>                <![CDATA[                    if (isset($this->request->cookie['manufacturer_id']) && !empty($this->request->cookie['manufacturer_id'])) {                ]]>            </add>        </operation>        <operation>            <search position="replace">                <![CDATA[$this->url->link('product/manufacturer/product', 'manufacturer_id=' . $this->request->get['manufacturer_id']),]]>            </search>            <add>                <![CDATA[                    $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $this->request->cookie['manufacturer_id']),                ]]>            </add>        </operation>    </file>    <file name="catalog/controller/module/category.php">        <operation>            <search position="replace">                <![CDATA[$parts = explode('_', (string)$this->request->get['path']);]]>            </search>            <add>                <![CDATA[                        $parts = explode('_', (string)$this->request->get['path']);                    } else if (isset($this->request->cookie['path']) && $this->request->get['route'] == 'product/product') {                        $parts = explode('_', (string)$this->request->cookie['path']);                ]]>            </add>        </operation>    </file>    <file name="catalog/controller/common/header.php">        <operation>            <search position="before">                <![CDATA[$this->data['action'] = $this->url->link('common/home');]]>            </search>            <add>                <![CDATA[                    switch (true) {                        case isset($this->request->get['path']):                            setcookie('path', $this->request->get['path'], time() + 31556926, '/');                        break;                        case isset($this->request->get['manufacturer_id']):                            setcookie('manufacturer_id', $this->request->get['manufacturer_id'], time() + 31556926, '/');                        break;                        default:                            setcookie('path');                            setcookie('manufacturer_id');                    }                ]]>            </add>        </operation>        <operation>            <search position="replace">                <![CDATA[$this->data['redirect'] = $this->url->link('common/home');]]>            </search>            <add>                <![CDATA[                    $this->data['redirect'] = '/';                ]]>            </add>        </operation>        <operation>            <search position="replace">                <![CDATA[$this->data['title'] = $this->document->getTitle();]]>            </search>            <add>                <![CDATA[                    if (isset($this->request->get['route'])) {                        $this->data['title'] = $this->document->getTitle() . ' - ' . $this->config->get('config_title');                    } else {                        $this->data['title'] = $this->document->getTitle();                    }                ]]>            </add>        </operation>    </file>        <!-- MODULES -->    <file name="catalog/controller/feed/google_sitemap.php">        <operation>            <search position="before">                <![CDATA[$products = $this->model_catalog_product->getProducts(array('filter_manufacturer_id' => $manufacturer['manufacturer_id']));]]>            </search>            <add>                <![CDATA[                    /*                ]]>            </add>        </operation>        <operation>            <search position="before">                <![CDATA[$this->load->model('catalog/information');]]>            </search>            <add>                <![CDATA[                    */                    }                ]]>            </add>        </operation>        <operation>            <search position="before">                <![CDATA[$products = $this->model_catalog_product->getProducts(array('filter_category_id' => $result['category_id']));]]>            </search>            <add>                <![CDATA[                    /*                ]]>            </add>        </operation>        <operation>            <search position="before">                <![CDATA[$output .= $this->getCategories($result['category_id'], $new_path);]]>            </search>            <add>                <![CDATA[                    */                ]]>            </add>        </operation>    </file>	<!-- Novosti, kod dlya 4PY		START -->	<file name="catalog/controller/common/seo_url.php">	<operation>	<search position="before">	<![CDATA[	if ($url[0] == 'manufacturer_id') {	]]>	</search>	<add>	<![CDATA[	if ($url[0] == 'news_id') {	$this->request->get['news_id'] = $url[1];	}	]]>	</add>	</operation>	<operation>	<search position="before">	<![CDATA[	} elseif (isset($this->request->get['manufacturer_id'])) {	]]>	</search>	<add>	<![CDATA[	} elseif (isset($this->request->get['news_id'])) {	$this->request->get['route'] = 'information/news';	]]>	</add>	</operation>	<operation>	<search position="replace">	<![CDATA[	if (($data['route'] == 'product/product' && $key == 'product_id') || (($data['route'] == 'product/manufacturer/product' || $data['route'] == 'product/product') && $key == 'manufacturer_id') || ($data['route'] == 'information/information' && $key == 'information_id')) {	]]>	</search>	<add>	<![CDATA[	if (($data['route'] == 'product/product' && $key == 'product_id') || (($data['route'] == 'product/manufacturer/product' || $data['route'] == 'product/product') && $key == 'manufacturer_id') || ($data['route'] == 'information/news' && $key == 'news_id') || ($data['route'] == 'information/information' && $key == 'information_id')) {	]]>	</add>	</operation>	</file><!-- Novosti, kod dlya 4PY		END --></modification>

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


  • 1 month later...

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

Notice: Error: Unknown column 'n.date_added' in 'order clause'Error No: 1054SELECT * FROM news n LEFT JOIN news_description nd ON (n.news_id = nd.news_id) WHERE nd.language_id = '1' ORDER BY n.date_added in /home/hghg/domains/ghgh.com.ru/public_html/system/database/mysql.php on line 49

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

Решил проблему

Оказывается, почему то не добавились колонки в таблицу news

date_added`, `image`, `status`,

зато добавилось куча всего!

`news_id`, `header`, `url`, `date`, `meta_title`, `meta_keywords`, `meta_description`, `annotation`, `body`, `enabled`, `created`, `modified`

Из за чего все это??

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

Друзья установил на 1.5.1.3 - установка по шаговая как написано все прошло нормально - устанока завершена и я был доволен

Но - далее я читаю инструкцию и делаю все кактам описанно а именно -

Добавление новостей

Зайдите в админ панель в меню выберите "Дополнения >> Модули >> Новости" и нажмите "Изменить"

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

Если вы используете vQMod, тогда попасть на страницу со списком новостей можно из меню: "Каталог >> Новости"

При этом Нажав на кнопку "Редактировать новости" -выдает ошибку -

Notice: Error: Could not load template /sata1/home/users/bigmarket/www/www.big-market.com.ua/admin/view/template/module/news/list.tpl! in /sata1/home/users/bigmarket/www/www.big-market.com.ua/vqmod/vqcache/vq2-system_engine_controller.php on line 76

И также при нажетии Каталог >> Новости" выдает тоже самое - что ето и как с етим бороться - плиз!!!

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

это и есть 76 строка - trigger_error('Error: Could not load template ' . DIR_TEMPLATE . $this->template . '!');

подскажите что не так!!

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


НЕ могу найти где конкретно поправить стиль что бы страница с новостями отображалась нормлаьно!

Без левой колонки все ок, а когда вставляешь категории и все такое получается вот textilmagic.com.ua/index.php?route=information/news

Подскажите пожалуйста

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


И как СЕО урл настроить.. что нуэжно конкретно вписать в суо_про.пхп

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

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


Подскажите пожалуйста, что надо подправить в controllermodulenews.php и modulenews.tpl, что бы выводилось изображение новости в модуле, например на главной. Спасибо!

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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