Jump to content
netruxa

[Поддержка] NewsBlog - создавайте неограниченное количество категорий со статьями

Recommended Posts

подскажите что делать я вижу только NewsBlog Список статей  внутри просит категорию, но список пуст, где добавить категорию?

Share this post


Link to post
Share on other sites

держите https://https://opencartforum.com/files//opencart-moduli-shablony/moduli/novosti-stati/newsblog-dopolnenie-perekrestnyie-stati-v-kartochke-tovara

 

код:

<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <name>NewsBlog перекрестные статьи в карточке товара</name>
    <code>newsblogDop</code>
    <version>20171002 for opencart 2.3.x</version>
    <author>netruxa</author>
    <link>http://nedorogoi-internet-magazin.ru/opencart/</link>
<file path="catalog/language/*/product/product.php">
    <operation>
      <search><![CDATA[$_['text_related']]]></search>
      <add position="before"><![CDATA[
      $_['text_related_article']                            = 'Обзоры, статьи про товар';
		]]></add>
	</operation>
  </file>
  
  <file path="catalog/model/newsblog/article.php">
    <operation>
      <search><![CDATA[public function getArticleRelated($article_id) {]]></search>
      <add position="before"><![CDATA[
	public function getArticleRelatedOfProduct($product_id) {
		$article_data = array();

		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "newsblog_article_related pr
		LEFT JOIN " . DB_PREFIX . "newsblog_article p ON (pr.article_id = p.article_id)
		LEFT JOIN " . DB_PREFIX . "newsblog_article_to_store p2s ON (p.article_id = p2s.article_id)
		WHERE pr.related_id = '" . (int)$product_id . "' AND pr.type=2 AND p.status = '1' AND p.date_available <= NOW() 
		AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");

		foreach ($query->rows as $result) {
			$article_data[$result['article_id']] = $this->getArticle($result['article_id']);
		}

		return $article_data;
	}
		]]></add>
	</operation>
  </file>
  <file path="catalog/controller/product/product.php">
     <operation>
      <search><![CDATA[$this->load->model('catalog/review');]]></search>
      <add position="before"><![CDATA[
        $this->load->model('newsblog/article');
        $date_format = $this->language->get('date_format_short');
        $data['text_related_article'] = $this->language->get('text_related_article');
		]]></add>
	</operation>
    <operation>
      <search><![CDATA[$data['products'] = array();]]></search>
      <add position="before"><![CDATA[
        $data['articles'] = array();
      	$results = $this->model_newsblog_article->getArticleRelatedOfProduct($this->request->get['product_id']);
      	foreach ($results as $result) {

				if ($result['image']) {
					$original 	= HTTP_SERVER.'image/'.$result['image'];
					$thumb = $this->model_tool_image->resize($result['image'], $this->config->get($this->config->get('config_theme') . '_image_related_width'), $this->config->get($this->config->get('config_theme') . '_image_related_height'));
				} else {
					$original = false;
					$thumb = false;
				}

				$mainCategoryId =  $this->model_newsblog_article->getArticleMainCategoryId($result['article_id']);

				$data['articles'][] = array(
						'article_id'  		=> $result['article_id'],
						'original'			=> $original,
						'thumb'       		=> $thumb,
						'name'        		=> $result['name'],
						'preview'     		=> html_entity_decode($result['preview'], ENT_QUOTES, 'UTF-8'),
						'attributes'  		=> $result['attributes'],
						'href'        		=> $this->url->link('newsblog/article', 'newsblog_path=' . $mainCategoryId . '&newsblog_article_id=' . $result['article_id']),
						'date'		  		=> ($date_format ? date($date_format, strtotime($result['date_available'])) : false),
						'date_modified'		=> ($date_format ? date($date_format, strtotime($result['date_modified'])) : false),
						'viewed' 			=> $result['viewed']
				);
			}
		]]></add>
	</operation>
  </file>
    <file path="catalog/view/theme/default/template/product/product.tpl">
    <operation>
      <search><![CDATA[<?php if ($products) { ?>]]></search>
      <add position="before"><![CDATA[
      <?php if ($articles) { ?>
  	  <h3><?php echo $text_related_article; ?></h3>
      <div class="row">
        <?php foreach ($articles as $article) { ?>
        <div class="product-layout product-list col-xs-12">
          <div class="product-thumb">
            <div class="image"><a href="<?php echo $article['href']; ?>"><img src="<?php echo $article['thumb']; ?>" alt="<?php echo $article['name']; ?>" title="<?php echo $article['name']; ?>" class="img-responsive" /></a></div>
            <div class="caption">
                <h4><a href="<?php echo $article['href']; ?>"><?php echo $article['name']; ?></a></h4>
                <p><?php echo $article['preview']; ?></p>

                <?php if ($article['attributes']) { ?>
	                <h5><?php echo $text_attributes;?></h5>
	                <?php foreach ($article['attributes'] as $attribute_group) { ?>
	                	<?php foreach ($attribute_group['attribute'] as $attribute_item) { ?>
                       	<b><?php echo $attribute_item['name'];?>:</b> <?php echo $attribute_item['text'];?><br />
	                	<?php } ?>
	                <?php } ?>
                <?php } ?>
            </div>
          </div>
        </div>
        <?php } ?>
      </div>
      <?php } ?>
		]]></add>
	</operation>
  </file>
</modification>

 

  • +1 1

Share this post


Link to post
Share on other sites
23 часа назад, Sergeyy84 сказал:

Для категорий не планируете такое сделать?

 

Категории не ссылаются на товары

Share this post


Link to post
Share on other sites
В 09.04.2019 в 02:03, netruxa сказал:

@SiteMix переменная $link_to_category всегда ссылается на категорию, из которой выводятся статьи. Если выбрано несколько категорий, то ее соответственно нет. Ну да, скорее всего переделаю под чекбокс вкл/выкл в след версии

 

А можно ли сделать в модуле, если указано больше одной категории, вывод ссылок на все категории. На сайте написано что переменная работает только при указании одной категории. А мне нужен модуль, который выводит все категории. Как это реализовать?

Share this post


Link to post
Share on other sites

@thermotrade в стандартном функционале этого нет
можете сами модифицировать файл модуля catalog\controller\extension\module\newsblog_articles.php - 38 строка. там все предельно просто

Share this post


Link to post
Share on other sites

Подскажите почему лыжи не едут?

Доступ запрещен к модулю и все.

В менеджере дополнений и сброс и обновить все сделал

В Групе пользователей все права дал.

Модуль включил и выключил (как кто то писал выше и ему помогло)

Кеш почистил.

Что упустил?

 

Share this post


Link to post
Share on other sites
1 час назад, netruxa сказал:

@FLUDIkFLUDIk в папках controller/ и admin/controller есть папка newsblog? 

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

Share this post


Link to post
Share on other sites

Здравствуйте.
Подскажите, пожалуйста, как вывести пошагово в статье дату ее создания и ее модификации, если она была, в формате ISO 8601.
Необходимо это для внедрения микроразметки через <meta itemprop="datePublished" ...>.

Edited by Coints

Share this post


Link to post
Share on other sites

@Coints день добрый

$date - Дата публикации материала

$date_modified - Дата изменения материала

(с) документация

 

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

 

Share this post


Link to post
Share on other sites

Приветствую!

Подскажите, пожалуйста, как в контроллере категории (newsblog) подключить $data['products']?

 

Это нужно чтобы вывести шорткоды в категории.

 

    <file path="catalog/controller/newsblog/category.php">
        <operation>
            <search><![CDATA[$data['description']]]></search>
            <add position="after"><![CDATA[
			$data['description'] = $this->shortcodes->do_shortcode($data['description']);
			]]></add>
        </operation>
    </file>

    <file path="catalog/controller/newsblog/category.php">
        <operation>
            <search><![CDATA[new Pagination()]]></search>
            <add position="after"><![CDATA[
         $x = count($data['products']);
         if ($x) {
            $sc_products = array();
            for ($i=0; $i < $x; $i++) {
               $sc_products[$i] = $data['products'][$i];
               $sc_products[$i]['description'] = $this->shortcodes->do_shortcode($data['products'][$i]['description']);
            }
            $data['products'] = $sc_products;
         }
         ]]></add>
        </operation>
    </file>

 

Share this post


Link to post
Share on other sites

@Gann так сходу и не подскажу. 

$this->shortcodes - это что-то нестандартное / самописное. Надо смотреть. Если не найдете решение, обращайтесь на [email protected]

Share this post


Link to post
Share on other sites

Приветствую!
При пересылке новостей через месенджеры нужно подтягивать главное изображение соответсвующего материала (статьи). По умолчанию подтягивает логотип сайта.
Насколько я понял, дело в <meta property="og:image" content

Подскажите, плиз, в какую сторону копать? 

Share this post


Link to post
Share on other sites

во время установки вылазит вот такая борода:

0.jpg

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

появляется ошибка 500 

Снимок экрана 2019-11-22 в 12.17.50.png

Edited by arbitr12

Share this post


Link to post
Share on other sites
7 минут назад, arbitr12 сказал:

во время установки вылазит вот такая борода

 

про бритье бороды

 

Share this post


Link to post
Share on other sites
43 минуты назад, AlexDW сказал:

 

про бритье бороды

 

 Спасибо! Установил квикфикс-мод и модуль новостей установился корректно. 

Share this post


Link to post
Share on other sites

Выбирать в этом поле не из чего, а без этого включить модуль на сайте нельзя. Как такой баг исправить ?

Снимок экрана 2019-11-22 в 13.08.48.png

Share this post


Link to post
Share on other sites

@deviako если версия опенкарт 2.3, то можно попробовать в catalog/controller/newsblog/article.php в блок if ($article_info['image']) { вставить

$this->document->setOgImage($data['thumb']);

@arbitr12 ну создайте какую-нибудь категорию и добавьте в нее статьи

Share this post


Link to post
Share on other sites
15 часов назад, netruxa сказал:

@deviako если версия опенкарт 2.3, то можно попробовать в catalog/controller/newsblog/article.php в блок if ($article_info['image']) { вставить

$this->document->setOgImage($data['thumb']);

 

Супер! Спасибо. Сработало четко :-)

Share this post


Link to post
Share on other sites
20 часов назад, netruxa сказал:

@deviako если версия опенкарт 2.3, то можно попробовать в catalog/controller/newsblog/article.php в блок if ($article_info['image']) { вставить

$this->document->setOgImage($data['thumb']);

@arbitr12 ну создайте какую-нибудь категорию и добавьте в нее статьи

Категорий с с десяток уже есть. Но в модуле их нет

Снимок экрана 2019-11-25 в 15.50.34.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By OCdevWizard
      Блог-новости - это полноценный модуль для публикации информационного контента, например рубрики с новостями, блог с публикациями, фото/видео галереи и так далее. Модуль позволяет создавать неограниченное количество категорий (рубрик) разного уровня вложенности, публикаций (новостей), авторов этих публикаций (новостей), а также имеет набор полезных виджетов (модулей).
       
      ❖ ПРЕИМУЩЕСТВО НАД ТЕМАТИЧЕСКИМИ МОДУЛЯМИ
          ➥ управление модулем выполнено на одной странице.
          ➥ редактирование параметров модуля выполняется без перезагрузки страницы.
          ➥ удобная система push уведомлений для панели управления модуля.
          ➥ возможность экспорта и импорта настроек модуля.
          ➥ возможность редактирования файла стилей модуля через панель управления модуля.
          ➥ возможность сжимать основной JS файл скриптов модуля.
          ➥ возможность отображать видео материалы с сайта YouTube, Vimeo или из файла в формате mp4, в качестве основного или дополнительного фото на странице категории (рубрики), публикаций (новостей) или авторов.
          ➥ возможность отображения кнопок социальных сетей на странице публикаций (новостей) без подключения сторонних сервисов.
          ➥ оптимизированное подключение необходимых js плагинов + css файлов.
          ➥ модуль не содержит файлов, в которых код зашифрован или обфусцирован.
       
      ❖ НЕМНОГО О ЦИФРАХ
          ➥ в состав модуля входит свыше 160 файлов.
          ➥ общий размер файлов меньше 3.5Mb (без сжатия).
          ➥ модуль переведен на 3 языка (English, Украинский, Русский).
          ➥ свыше 240 параметров настройки модуля.
       
      ❖ СПИСОК ВОЗМОЖНОСТЕЙ
      ❏ Страница категории (рубрики)
          ➥ возможность создавать неограниченное количество категорий (рубрик).
          ➥ возможность отображать главное фото.
          ➥ возможность отображать дополнительных фото.
          ➥ возможность просматривать галерею из главного и дополнительных фото и/или видео в виде всплывающего окна.
          ➥ возможность использовать "Schema" разметку.
          ➥ возможность задавать лимит отображения, порядок сортировки по умолчанию, размер фото для публикаций (новостей).
      ❏ Страница публикации (новости)
          ➥ возможность создавать неограниченное количество публикаций (новостей).
          ➥ возможность оценивать публикации (новости).
          ➥ возможность отображать главное фото.
          ➥ возможность отображать дополнительных фото.
          ➥ возможность просматривать галерею из главного и дополнительных фото и/или видео в виде всплывающего окна.
          ➥ возможность отображать рекомендуемых публикаций (новостей) и товаров.
          ➥ возможность создавать теги для страницы публикации (новости) и потом выполнять поиск по тегам.
          ➥ возможность отображения кнопок социальных сетей (Facebook, Twitter, Pinterest, VK, AddThis).
          ➥ возможность использовать "Open Graph, Twitter Card, Schema" разметку.
      ❏ Страница автора для публикации (новости)
          ➥ возможность создавать неограниченное количество авторов для публикаций (новостей).
          ➥ возможность отображать главное фото.
          ➥ возможность отображать дополнительных фото.
          ➥ возможность просматривать галерею из главного и дополнительных фото и/или видео в виде всплывающего окна.
          ➥ возможность использовать "Schema" разметку.
          ➥ возможность задавать лимит отображения, порядок сортировки по умолчанию, размер фото для публикаций (новостей).
      ❏ Страница поиска по публикациям (новостям)
          ➥ возможность выполнять поиск публикаций (новостей) по: названию, описанию, тегам, категории (рубрике).
          ➥ возможность использовать "Schema" разметку.
          ➥ возможность задавать лимит отображения, порядок сортировки по умолчанию, размер фото для публикаций (новостей).
      ❏ Блок виджетов
          ➥ возможность создавать неограниченное количество виджетов модуля.
          ➥ возможность создавать виджет с выводом тегов от публикаций (новостей).
          ➥ возможность создавать виджет с полем поиска по публикациям (новостям).
          ➥ возможность создавать виджет с выводом публикаций (новостей) в виде вертикального списка, карусели или сетки.
          ➥ возможность создавать виджет с выводом комментариев в виде вертикального списка, карусели или сетки.
          ➥ возможность создавать виджет с выводом категорий (рубрик).
          ➥ возможность создавать виджет с выводом архива публикаций (новостей) с разделением на месяцы и годы.
          ➥ возможность отображать статистический виджет модуля в панели управления магазином.
      ❏ Блок комментариев
          ➥ возможность комментировать публикации и отвечать на другие комментарии пользователей.
          ➥ возможность защищать форму комментирования через Google reCAPTCHA.
          ➥ возможность указывать документ (например: "Политика обработки персональных данных" или "Правила использования сайта" и так далее) с которым пользователь должен согласится перед отправкой комментария.
          ➥ возможность блокировать доступ к комментированию публикаций (новостей) для выбранных пользователей по IP.
          ➥ возможность подписываться на уведомления, когда кто-то ответил на комментарий.
          ➥ возможность создавать email шаблон для уведомлений, когда кто-то ответил на комментарий.
          ➥ возможность оценивать комментарии.
          ➥ возможность публикации комментария после модерации.
      ❏ Другое
          ➥ возможность настраивать и стилизовать всплывающее окно для галереи из главного и дополнительных фото и/или видео для страницы категории (рубрики), публикации (новости) или автора.
          ➥ возможность генерировать динамический xml и rss feed.  
          ➥ поддержка multi-языков.
          ➥ поддержка multi-магазинов.
          ➥ поддержка RTL или LTR направление текста. 
          ➥ модуль требует активацию лицензии.
       
      ❖ DEMO САЙТ
          ➥ Админка: demo / demo | Смотреть
          ➥ Каталог: Смотреть
       
      ❖ СОВМЕСТИМОСТЬ С OPENCART
          ➥ 2.0.0.0, 2.0.1.0, 2.0.1.1, 2.0.2.0, 2.0.3.1, 2.1.0.1, 2.1.0.2, 2.2.0.0, 2.3.0.2, 3.0.0.0, 3.0.1.1, 3.0.1.2, 3.0.2.0, 3.0.3.0, 3.0.3.1, 3.0.3.2, 3.0.3.3, 3.0.3.5, 3.0.3.6
       
      ❖ СОВМЕСТИМОСТЬ С OCSTORE
          ➥ 2.1.0.1, 2.1.0.1.1, 2.1.0.2, 2.1.0.2.1, 2.3.0.2, 2.3.0.2.1, 2.3.0.2.2, 2.3.0.2.3
       
      ❖ СИСТЕМНЫЕ ТРЕБОВАНИЯ
          ➥ Минимальная версия PHP: 5.4.
          ➥ Модуль не работает на localhost.
       
      ❖ ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ
      Приобретая ПО, разработанные OCdevWizard, вы подтверждаете, что прочитали и согласны с условиями этого соглашения. Соглашение вступает в силу с момента покупки ПО, проданного через этот сайт, или получения его по электронной почте или любым другим способом. Если вы не согласны с этими условиями лицензирования, не используйте и/или не покупайте это ПО.
      Покупая ПО от автора OCdevWizard, пользователь соглашается c:
          ➥ Лицензию может предоставлять только автор ПО - OCdevWizard.
          ➥ После покупки ПО покупатель получает не эксклюзивную, не передаваемую, отзывную лицензию без ограничения по времени, по принципу 1 покупка ПО = 1 лицензия.
          ➥ Покупатель имеет право активировать лицензию только на один домен (например http://site.com), а также на не более чем пять под доменов этого же домена (например http://test.site.com или http://site.com/test). Для получения большего количества лицензий нужно произвести покупку ПО равно количеству доменов.
          ➥ В случае смены доменного имени, переезд сайта на другой домен, нужно выполнить покупку и активацию лицензии на этот домен.
          ➥ Активная лицензия дает право на использование обновлений ПО и бесплатной технической поддержки (консультация по настройке ПО и исправление конструктивных ошибок) сроком на 1 год. По окончанию этого периода покупатель имеет право продлить его, выполнив повторную покупку ПО. Само ПО будет работать без изменений, как и до момента окончания этого периода.
          ➥ Вы не можете продавать или перепродавать это ПО без письменного разрешения автора (OCdevWizard).
          ➥ Вы не можете давать в качестве подарка или распространять это ПО без письменного разрешения автора (OCdevWizard).
          ➥ Вы не можете изменять название этого ПО без письменного разрешения автора (OCdevWizard).    
          ➥ Вы не можете представлять это ПО как собственное.
          ➥ Вы не можете использовать или извлекать компоненты ПО для использования их вне файлов ПО.
          ➥ Вы не можете удалять из файлов ПО копирайт автора (OCdevWizard).
          ➥ ПО предоставляется по принципу «AS IS».
      Автор ПО оставляет за собой право вносить изменения в условия данного лицензионного соглашения и изменять его пункты в любое время без дополнительных уведомлений, а также оставляет за собой право прекратить поддержку, отказать в доступе к обновлениям если пользователь нарушает это лицензионное соглашение.
       
      ❖ ПОДДЕРЖКА
          ➥ Пожалуйста, используйте мой сайт технической поддержки клиентов, чтобы запросить помощь или сообщить о ошибке.
          ➥ Пожалуйста, не используйте комментарии для сообщений об ошибках.
          ➥ Платная техническая поддержка выполняется в случаях, когда существует конфликт с внешними модулями/продуктами/шаблонами. Пожалуйста, примите это с пониманием того, что разработчик не может сделать собственный модуль на 100% совместимым со всеми внешними расширениями. Вот почему в некоторых случаях необходимо адаптировать модуль к нестандартной конфигурации и системным настройкам магазина. Поэтому решение таких проблем будет оплачиваться отдельно от стоимости модуля.
       
      ❖ СОВМЕСТИМ И АДАПТИРОВАН
          ➥ HYPER Positions +70 позиций модулей - oc2.3x
       
      ❖ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ
      ❏ Вы можете напрямую заказать дополнительную услугу после покупки данного модуля:
          ➥ Установка модуля в ваш магазин вместо вас - 800 руб.
          ➥ Базовая настройка параметров модуля вместо вас - 800 руб.
          ➥ Помощь в решении проблем совместимости с вашей конфигурацией магазина - 800 руб.
          ➥ Изменить стиль модуля в соответствии с вашей темой - 800 руб.
          ➥ Выпуск «пожизненной» лицензии на модуль для вашего домена - 800 руб.
          ➥ Улучшить/изменить базовую функциональность модуля в соответствии с вашими предпочтениями - индивидуальная цена.
          ➥ Пакет услуг "Услуги+" (включает установку, базовую настройку, устранение проблем совместимости, стилизацию под вашу тему и «пожизненную» лицензию) - 3200 руб.
      Все дополнительные услуги оплачиваются на этой странице.
  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.