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

Помоги с выводом Мета тегов. ocStore 2.3


stasinka91

Recommended Posts

Привет всем! Есть вот такой кусок кода который отвечает за вывод мета тегов в самописном модуле (не мной) и они не работают.

Подскажите пожалуйста в чем тут проблема

 

Вот ссылка на пациента))

		$data['marks'] = $this->model_information_auto_basebuy->getMarks();
		
		$selectedMarkName = '';
		$selectedMarkNameRus = '';
		$selectedModelName = '';
		$selectedModelNameRus = '';
		$headingTitle = $this->language->get('heading_title');
		
		$modelId = null;
		$metaTitle = 'Аккумулятор на ваш авто в Ростове-на-Дону | АКБ-помощь';
		$metaDescription = 'Купить автомобильный аккумулятор на ваш авто от 1900 рублей, Ростов-на-Дону. Официальная гарантия, скидки за старый аккумулятор | АКБ-помощь';
		$metaKeywords = 'акб аккумуляторы на автомобиль авто для легкового грузового автомобиля дон доставка доставкой';
		// $photoDescriptionQuery = "bentley";

		if (isset($this->request->get['id_car_model'])) {
			$modelId = (int)$this->request->get['id_car_model'];
			if(isset($this->request->get['id_car_mark'])){
				$data['selected_mark'] = $this->model_information_auto_basebuy->getMark((int)$this->request->get['id_car_mark']);
			} else {
				$data['selected_mark'] = $this->model_information_auto_basebuy->getMarkFromModel($modelId);
			}
			
			$data['selected_model'] = $this->model_information_auto_basebuy->getModel($modelId);
			$data['years'] = $this->model_information_auto_basebuy->getYears($modelId);
			$data['models'] = $this->model_information_auto_basebuy->getModels($data['selected_mark']['id']);
			$selectedMarkName = $data['selected_mark']['name'];
			$selectedMarkNameRus = $data['selected_mark']['name_rus'];
			$selectedModelName = $data['selected_model']['name'];
			$selectedModelNameRus = $data['selected_model']['name_rus'];

			$metaTitle = 'Купить аккумулятор на $selectedMarkName $selectedModelName в Ростове-на-Дону по низкой цене'; // | АКБ-помощь
			$metaDescription = 'Купить автомобильный аккумулятор на $selectedMarkName $selectedModelName ($selectedMarkNameRus $selectedModelNameRus) от 1900 рублей, Ростов-на-Дону. Официальная гарантия, скидки за старый аккумулятор | АКБ-помощь';
			$metaKeywords = '$selectedMarkName $selectedModelName $selectedMarkNameRus $selectedModelNameRus';
			$headingTitle = 'Аккумулятор на $selectedMarkNameRus $selectedModelNameRus в Ростове-на-Дону';
			
			// если пришла модель авто получить все модификации модели
			$data['modifications'] = $this->model_information_auto_basebuy->getModificationsWithoutYear($modelId, 5);

			$data['text_message_0'] = 'Большой выбор аккумуляторов на $selectedMarkName $selectedModelName от разных производителей. Купить аккумулятор $selectedMarkNameRus $selectedModelNameRus в Ростове-на-Дону по низкой цене.';

 

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


Можете весь код прислать.. и это проблема в категории или в товаре?

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


Это самописный модуль для подбора товара по марке авто, вывод мета тегов есть, но он не работает

 

<?php
class ControllerInformationAutoBasebuyFilter extends Controller {
	private $error = array();

	public function index() {

		$this->load->language('information/auto_basebuy_filter');
		$this->load->model('information/auto_basebuy');
		$this->load->model('catalog/product');
		$this->load->model('tool/image');
		$this->load->model('information/car_photo');

		$data['marks'] = $this->model_information_auto_basebuy->getMarks();
		
		$selectedMarkName = '';
		$selectedMarkNameRus = '';
		$selectedModelName = '';
		$selectedModelNameRus = '';
		$headingTitle = $this->language->get('heading_title');
		
		$modelId = null;
		$metaTitle = 'Аккумулятор на ваш авто в Ростове-на-Дону | АКБ-помощь';
		$metaDescription = 'Купить автомобильный аккумулятор на ваш авто от 1900 рублей, Ростов-на-Дону. Официальная гарантия, скидки за старый аккумулятор | АКБ-помощь';
		$metaKeywords = 'акб аккумуляторы на автомобиль авто для легкового грузового автомобиля дон доставка доставкой';
		// $photoDescriptionQuery = "bentley";

		if (isset($this->request->get['id_car_model'])) {
			$modelId = (int)$this->request->get['id_car_model'];
			if(isset($this->request->get['id_car_mark'])){
				$data['selected_mark'] = $this->model_information_auto_basebuy->getMark((int)$this->request->get['id_car_mark']);
			} else {
				$data['selected_mark'] = $this->model_information_auto_basebuy->getMarkFromModel($modelId);
			}
			
			$data['selected_model'] = $this->model_information_auto_basebuy->getModel($modelId);
			$data['years'] = $this->model_information_auto_basebuy->getYears($modelId);
			$data['models'] = $this->model_information_auto_basebuy->getModels($data['selected_mark']['id']);
			$selectedMarkName = $data['selected_mark']['name'];
			$selectedMarkNameRus = $data['selected_mark']['name_rus'];
			$selectedModelName = $data['selected_model']['name'];
			$selectedModelNameRus = $data['selected_model']['name_rus'];

			$metaTitle = 'Купить аккумулятор на $selectedMarkName $selectedModelName в Ростове-на-Дону по низкой цене'; // | АКБ-помощь
			$metaDescription = 'Купить автомобильный аккумулятор на $selectedMarkName $selectedModelName ($selectedMarkNameRus $selectedModelNameRus) от 1900 рублей, Ростов-на-Дону. Официальная гарантия, скидки за старый аккумулятор | АКБ-помощь';
			$metaKeywords = '$selectedMarkName $selectedModelName $selectedMarkNameRus $selectedModelNameRus';
			$headingTitle = 'Аккумулятор на $selectedMarkNameRus $selectedModelNameRus в Ростове-на-Дону';
			
			// если пришла модель авто получить все модификации модели
			$data['modifications'] = $this->model_information_auto_basebuy->getModificationsWithoutYear($modelId, 5);

			$data['text_message_0'] = 'Большой выбор аккумуляторов на $selectedMarkName $selectedModelName от разных производителей. Купить аккумулятор $selectedMarkNameRus $selectedModelNameRus в Ростове-на-Дону по низкой цене.';
			
			// $photoDescriptionQuery = "$selectedMarkName $selectedModelName";

// 			if(APP_ENV === 'PRODUCTION'){

// 				if (isset($this->request->get['set_photo'])) {
// 					$carPhoto = $this->model_information_car_photo->set(
// 						$this->request->get['id_car_model'], 
// 						$selectedMarkName, 
// 						$selectedModelName
// 					);
// 				} else {
// 					$carPhoto = $this->model_information_car_photo->get(
// 						$this->request->get['id_car_model'], 
// 						$selectedMarkName, 
// 						$selectedModelName
// 					);
// 				}

// 				$data['car_photo'] = $carPhoto['url'];
// 			}
			// для каждой модификации найти её варианты акб по 4 шт
			foreach ($data['modifications'] as $modification){
		  
				$info = $this->model_information_auto_basebuy->getInfo($modification['id']);
				$productIds = $this->model_information_auto_basebuy->getProductIds($info['akb'], 0, 4, true);
				$results = array();
				foreach ($productIds as $product) {
				  $results[$product['product_id']] = $this->model_catalog_product->getProduct($product['product_id']);
				}
				
				if ($results) {
				  foreach ($results as $result) {
					if ($result['image']) {
					  $image = $this->model_tool_image->resize($result['image'], $result['width'], $result['height']);
					} else {
					  $image = $this->model_tool_image->resize('placeholder.png', $result['width'], $result['height']);
					}
		  
					if ($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')), $this->session->data['currency']);
					} 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')), $this->session->data['currency']);
					} else {
					  $special = false;
					}
		  
					if ($this->config->get('config_tax')) {
					  $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
					} else {
					  $tax = false;
					}
					
					if ($this->config->get('config_review_status')) {
					  $rating = $result['rating'];
					} else {
					  $rating = false;
					}

					$data['products'][$modification['id']][] = array(
					  'product_id'  => $result['product_id'],
					  'thumb'       => $image,
					  'name'        => $result['name'],
					  'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
					  'price'       => $price,
					  'priceFloat'  => floatval($price),
					  'special'     => $special,
					  'tax'         => $tax,
					  'upc'         => $result['upc'],
					  'rating'      => $rating,
					  'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])
					);
				  }
				}
			}


		} else if (isset($this->request->get['id_car_mark'])) {

			$data['selected_mark'] = $this->model_information_auto_basebuy->getMark((int)$this->request->get['id_car_mark']);
			$data['models'] = $this->model_information_auto_basebuy->getModels($data['selected_mark']['id']);
			$selectedMarkName = $data['selected_mark']['name'];
			$selectedMarkNameRus = $data['selected_mark']['name_rus'];

			$metaKeywords .=" $selectedMarkName $selectedMarkNameRus";
			$metaTitle = "Аккумулятор на $selectedMarkName ($selectedMarkNameRus) в Ростове-на-Дону | АКБ-помощь";
			$metaDescription = "Купить автомобильный аккумулятор на $selectedMarkName ($selectedMarkNameRus) от 1900 рублей, Ростов-на-Дону. Официальная гарантия, скидки за старый аккумулятор | АКБ-помощь";
			$headingTitle = "Аккумулятор на $selectedMarkNameRus в Ростове-на-Дону";
			// $photoDescriptionQuery = $selectedMarkName;
		}

		// $vk = new VK\Client\VKApiClient();
		// $response_save_photo = $vk->photos()->search(VK_ACCESS_TOKEN, array(
		// 	'q' => $photoDescriptionQuery,
		// 	'count' => 1,
		// ));
		// $photoUrl = '';
		// foreach ($response_save_photo['items'][0]["sizes"] as $size){
		// 	if ($size['type'] === 'x'){
		// 		$photoUrl = $size['url'];
		// 	}
		// }
		
		// $data['car_photo'] = $photoUrl;

		$this->document->setTitle($metaTitle);
		$this->document->setDescription($metaDescription);
		$this->document->setKeywords($metaKeywords);

		if ( $data['selected_mark']['id'] ){
			
			$data['breadcrumbs'] = [
				[
					'text' => $this->language->get('text_home'),
					'href' => $this->url->link('common/home')
				],
				[
					'text' => $this->language->get('breadcrumb_marks'),
					'href' => $this->url->link('information/auto_marks')
				],
				[
					'text' => $this->language->get('breadcrumb_models'),
					'href' => $this->url->link('information/auto_models') . "&id_car_mark=" . $data['selected_mark']['id']
				],
				[
					'text' => $headingTitle,
					'href' => $this->url->link('information/auto_basebuy_filter')
				],
			];
		} else {
			$data['breadcrumbs'] = [
				[
					'text' => $this->language->get('text_home'),
					'href' => $this->url->link('common/home')
				],
				[
					'text' => $this->language->get('breadcrumb_marks'),
					'href' => $this->url->link('information/auto_marks')
				],
				[
					'text' => $headingTitle,
					'href' => $this->url->link('information/auto_basebuy_filter')
				],
			];
		}
		
		$url = '';

		$data['columns'] = array();
		if ($id_car_mark) {
			$url .= '&id_car_mark=' . $id_car_mark;
			$mark = $this->model_information_auto_basebuy->getMark($id_car_mark);
			$data['breadcrumbs'][] = array(
				'text' => $mark['name'],
				'href' => $this->url->link('information/auto_basebuy_filter',$url)
			);
			if ($id_car_model) {
				$url .= '&id_car_model=' . $id_car_model;
				$model = $this->model_information_auto_basebuy->getModel($id_car_model);
				$data['breadcrumbs'][] = array(
					'text' => $model['name'],
					'href' => $this->url->link('information/auto_basebuy_filter',$url)
				);
				
				
			} else {
				$models = $this->model_information_auto_basebuy->getModels($id_car_mark);
				if ($models) {
					$data['columns'] = $this->getColumns($models,$url,'id_car_model');
					$data['alphbet'] = true;
					$data['text_select'] = $this->language->get('text_model');
				}
			}
		  
		}
	
		$data['heading_title'] = $headingTitle;
		$data['text_message'] = $this->language->get('text_message');
		$data['text_akb_characteristic'] = $this->language->get('text_akb_characteristic');
		$data['select_car_mark'] = $this->language->get('select_car_mark');
		$data['select_car_model'] = $this->language->get('select_car_model');
		$data['select_car_modification'] = $this->language->get('select_car_modification');

		if (isset($this->error['name'])) {
			$data['error_name'] = $this->error['name'];
		} else {
			$data['error_name'] = '';
		}

		// $data['action'] = $this->url->link('information/contact', '', true);

		if (isset($this->request->post['name'])) {
			$data['name'] = $this->request->post['name'];
		} else {
			$data['name'] = $this->customer->getFirstName();
		}

		$data['column_left'] = $this->load->controller('common/column_left');
		$data['column_right'] = $this->load->controller('common/column_right');
		$data['content_top'] = $this->load->controller('common/content_top');
		$data['content_bottom'] = $this->load->controller('common/content_bottom');
		$data['footer'] = $this->load->controller('common/footer');
		$data['header'] = $this->load->controller('common/header');

		$this->response->setOutput($this->load->view('information/auto_basebuy_filter', $data));
	}

	protected function validate() {
		if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 32)) {
			$this->error['name'] = $this->language->get('error_name');
		}

		if (!preg_match($this->config->get('config_mail_regexp'), $this->request->post['email'])) {
			$this->error['email'] = $this->language->get('error_email');
		}

		if ((utf8_strlen($this->request->post['enquiry']) < 10) || (utf8_strlen($this->request->post['enquiry']) > 3000)) {
			$this->error['enquiry'] = $this->language->get('error_enquiry');
		}

		return !$this->error;
	}
}

 

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


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

$metaTitle = 'Купить аккумулятор на $selectedMarkName $selectedModelName в Ростове-на-Дону по низкой цене'; // | АКБ-помощь

$metaDescription = 'Купить автомобильный аккумулятор на $selectedMarkName $selectedModelName ($selectedMarkNameRus $selectedModelNameRus) от 1900 рублей, Ростов-на-Дону. Официальная гарантия, скидки за старый аккумулятор | АКБ-помощь';

$metaKeywords = '$selectedMarkName $selectedModelName $selectedMarkNameRus $selectedModelNameRus';

$headingTitle = 'Аккумулятор на $selectedMarkNameRus $selectedModelNameRus в Ростове-на-Дону';

 

Я вот такого нигде не видела, думаю в этом и ощибка

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


Так у вас страница  фильтра не перезагружается, как я понимаю фильтрация происходит через аякс

А если страница не перезагружается то как вы хотите что бы там прописывались метатеги... понятно что через аякс их тоже можно туда запихнуть.. но индексации страниц фильтрации нет.. к чему тогда метатеги.. Или я что не так понял?)

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


28 минут назад, nikoshot сказал:

Так у вас страница  фильтра не перезагружается, как я понимаю фильтрация происходит через аякс

А если страница не перезагружается то как вы хотите что бы там прописывались метатеги... понятно что через аякс их тоже можно туда запихнуть.. но индексации страниц фильтрации нет.. к чему тогда метатеги.. Или я что не так понял?)

Я Вам в лс написала

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


Здрасвуйте. А не лучше поставить нормальнний модуль с автогенерацией по шаблону?

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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