Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Дополнительное поле в mfp


newjey
 Погделиться

Рекомендованные сообещёния

Добрый гдень. Понадобилось на посадочных страницах фильтра mfp вывести еещё одно описание (дополнительное). Создал поле в базе, добавил поле в админке, все отлично пишется и сохраняется. Но не могу вывести это поле на сайт, по аналогии с гдефолтным описание посадочных страниц. Подскажите куда копать? Не могу найти каким обвместе выводится основное описание для посадочных страниц( Хотя бы в каком файле копать?)

Изменено пользователем newjey
Ссылка на комменирий
Погделиться на других сайих


через модификатор фильтра для product/category.php
смотрите $this->model_module_mega_filter->prepareData

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


38 минут назад, thentru сказал:

через модификатор фильтра для product/category.php
смотрите $this->model_module_mega_filter->prepareData

Спасипотому что. Но что-то все равно не могу понять как мне вывести новые данные по аналогии?(

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


 Ок, а можно тогда вывести в шаблоне данные из этот иблицы в базе с проверкой по id url alias?

Что-то на подобии 

<?php
  $sql = mysqli_query($link, 'SELECT `mfilter_url_alias_id`,’description_2’ FROM `mfilter_url_alias`');
  while ($result = mysqli_fetch_array($sql)) {
if ($mfilter_url_alias['mfilter_url_alias_id'] = ' ') {
    echo "{$result[‘description_2’]}";
  }
?>

 

Изменено пользователем newjey
Ссылка на комменирий
Погделиться на других сайих


тут даже изобреить ничего не нужно, ваше поле бугдет доступно в метогде prepareData

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


3 минуты назад, thentru сказал:

тут даже изобреить ничего не нужно, ваше поле бугдет доступно в метогде prepareData

Если можно, можете подробнее объяснить. Я не специалист в области программирования. С методом prepareData еещё знаком и совсем не понимаю как вывести нужные мне данные. Спасипотому что, с меня +1.

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


Получается вывод description в могдели указан как:

Циии

 

public function prepareData( $data ) {
		if( ! empty( $data['breadcrumbs'] ) && ! empty( $this->request->get['mfp'] ) ) {
			foreach( $data['breadcrumbs'] as $mfK => $mfBreadcrumb ) {
				$data['breadcrumbs'][$mfK]['href'] = $this->removeMfpFromUrl( $data['breadcrumbs'][$mfK]['href'] );
			}
		}
		
		if( class_exists( 'ControllerModuleMegaFilter' ) ) {
			if( ControllerModuleMegaFilter::$_meta ) {
				if( ControllerModuleMegaFilter::$_meta['h1'] ) {
					$data['heading_title'] = ControllerModuleMegaFilter::$_meta['h1'];
				}
				if( ControllerModuleMegaFilter::$_meta['description'] ) {
					$data['description'] = html_entity_decode(ControllerModuleMegaFilter::$_meta['description'], ENT_QUOTES, 'UTF-8');
				}
			}
			
			self::$_meta = true;
		}
				
		if( isset( $this->request->get['mfilterAjax'] ) && class_exists( 'MegaFilterCore' ) ) {
			$calculate_number_of_products = false;
			$settings = isset( $this->request->get['mfilterIdx'] ) ? $this->getModuleSettings( $this->request->get['mfilterIdx'] ) : array();

			if( ! empty( $settings['configuration'] ) ) {
				$calculate_number_of_products = ! empty( $settings['configuration']['calculate_number_of_products'] );
			} else {
				$settings = $this->config->get('mega_filter_settings');
				$calculate_number_of_products = ! empty( $settings['calculate_number_of_products'] );
			}

			$seo_settings = $this->config->get('mega_filter_seo');
			$baseTypes	= array( 'stock_status', 'manufacturers', 'rating', 'attributes', 'price', 'options', 'filters' );

			if( isset( $this->request->get['mfilterBTypes'] ) ) {
				$baseTypes = explode( ',', $this->request->get['mfilterBTypes'] );
			}

			if( ! empty( $seo_settings['enabled'] ) || $calculate_number_of_products || in_array( 'categories:tree', $baseTypes ) || in_array( 'vehicles', $baseTypes ) ) {
				if( ! $calculate_number_of_products ) {
					$baseTypesCopy = $baseTypes;
					$baseTypes = array();

					if( in_array( 'categories:tree', $baseTypesCopy ) ) {
						$baseTypes[] = 'categories:tree';
					}

					if( in_array( 'vehicles', $baseTypesCopy ) ) {
						$baseTypes[] = 'vehicles';
					}
				}

				$idx = 0;

				if( isset( $this->request->get['mfilterIdx'] ) ) {
					$idx = (int) $this->request->get['mfilterIdx'];
				}

				$data['mfilter_json'] = json_encode( MegaFilterCore::newInstance( $this, NULL, array( 'mfp_overwrite_path' => true ) )->getJsonData($baseTypes, $idx) );
			}

			$data['header'] = $data['column_left'] = $data['column_right'] = $data['content_top'] = $data['content_bottom'] = $data['footer'] = '';
		}
		
		if( isset( $data['mfilter_json'] ) ) {
			$data['header'] .= '<div id="mfilter-json" style="display:none">' . base64_encode( $data['mfilter_json'] ) . '</div>';
		}
		
		$data['content_top'] .= '<div id="mfilter-content-container">';
		$data['content_bottom'] = '</div>' . $data['content_bottom'];
					
		return $data;
	}

 

Как мне вывести еещё description_2, ик что бы он выводился вверху над товарами?

Изменено пользователем newjey
Ссылка на комменирий
Погделиться на других сайих


3 минуты назад, newjey сказал:

Получается вывод description в могдели указан как:

Как мне вывести еещё description_2, ик что бы он выводился вверху над товарами?

Можно просто ввести через разгделитель текст. А на фронте сгделать explode

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

2 минуты назад, Vladzimir сказал:

Можно просто ввести через разгделитель текст. А на фронте сгделать explode

Подскажите как?

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


Вывод описания осуещёствляется условием

if( ControllerModuleMegaFilter::$_meta['description'] ) {
					$data['description'] = html_entity_decode(ControllerModuleMegaFilter::$_meta['description'], ENT_QUOTES, 'UTF-8');
				}

Логичнее бугдет ик же вывести второе описание, только как правильно это сгделать?

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.