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

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


netruxa

Recommended Posts

  • 2 weeks later...

держите 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
Надіслати
Поділитися на інших сайтах

В 09.09.2019 в 16:21, kaljanov сказал:

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

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


  • 2 weeks later...
  • 2 weeks later...
В 09.04.2019 в 02:03, netruxa сказал:

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

 

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

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


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

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

  • 4 weeks later...

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

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

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

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

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

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

Что упустил?

 

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


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

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

1 час назад, netruxa сказал:

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

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

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


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

Змінено користувачем Coints
Надіслати
Поділитися на інших сайтах


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

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

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

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

 

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

 

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

  • 2 weeks later...

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

Подскажите, пожалуйста, как в контроллере категории (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>

 

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

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

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

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

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

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

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


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

0.jpg

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

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

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

Змінено користувачем arbitr12
Надіслати
Поділитися на інших сайтах


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

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

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

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

15 часов назад, netruxa сказал:

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


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

 

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

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


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

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


2 часа назад, arbitr12 сказал:

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

Речь ведь о категориях блога, а не каталога.

В левом меню должна добавиться кнопка с иконкой похожей на газету. Тыкайте туда, а дальше интуитивно понятно..

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


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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