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

Как добавить на страницу meta_title + meta_description?


Recommended Posts

Есть модуль Faq Вопрос-Ответ.

Не могу теперь найти в сети, но в файле значится такие опознавательные комментарии

/*
Version: 1.0
Author: Artur Sułkowski
Website: http://artursulkowski.pl
*/

Суть в том, что в этом модуле в файле faq.tpl верх страницы выводится так:

<?php echo $header; $s = 1; ?>

Эта страница с пустым метатегом <title> и отсутствует <description>

Как добавить метатеги на эту страницу?

 

Вот содержание контроллера faq.php

Спойлер



<?php
/*
Version: 1.0
Author: Artur Sułkowski
Website: http://artursulkowski.pl
*/

class ControllerModuleFaq extends Controller {
	public function index() {
		$lang_id = $this->config->get('config_language_id');
		$setting = $this->config->get('faq_module');

        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/css/faq.css')) {
            $this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template') . '/css/faq.css');
        }

        $data['settings'] = $setting['settings'];
		$data['sections'] = array();

		if(is_array($setting['sections'])) {
			$this->sortData($setting['sections'], 'order');
            foreach($setting['sections'] as $section){
                $data['sections'][$section['id']]['title'] = $section['title'][$lang_id];
                $data['sections'][$section['id']]['hidden'] = isset($section['hidden']) && $section['hidden'] == 1 ? true : false; ;
                if(!empty($setting['items'])){
                    $this->sortData($setting['items'], 'order');
                    $i = 0;
                    foreach($setting['items'] as $item){
                        if(!isset($item['section_id'])) continue;
                        if($item['section_id'] == $section['id']){
                            $data['sections'][$section['id']]['items'][$i]['question'] = html_entity_decode($item['question'][$lang_id], ENT_QUOTES, 'UTF-8');
                            $data['sections'][$section['id']]['items'][$i]['answer'] = html_entity_decode($item['answer'][$lang_id], ENT_QUOTES, 'UTF-8');
                            $i++;
                        }
                    }
                }
            }
		}

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);

		$data['breadcrumbs'][] = array(
			'text' => "Часто задаваемые вопросы",
			'href' => $this->url->link('module/faq', '', 'SSL')
		);

        $data['heading_title'] = 'Часто задаваемые вопросы';

		$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');

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/faq.tpl')) {
            $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/module/faq.tpl', $data));
		} else {
			$this->response->setOutput($this->load->view('default/template/module/faq.tpl', $data));
		}
	}



    function sortData(&$data, $col)
    {
        usort($data, function($a, $b) use ($col){
            if ($a[$col] == $b[$col]) {
                return 0;
            }
            return ($a[$col] < $b[$col]) ? -1 : 1;
        });
    }
}
?>


 

 

Посоветуйте пожалуйста, как добавить метатеги на эту страницу.

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


  • 2 weeks later...
В 30.01.2022 в 02:20, chukcha сказал:

 

 

Заодно перекроете и другие страницы

Спасибо. Учту. Но у меня только у одной страницы не хватает  метатегов. С остальными и так сойдёт. )) Может кто-то подскажет как добавить метатег для этой одной страницы без модулей? Полагаю, там вставить в контроллер строчку кода будет достаточно. За 200 р. кто поможет вставить метатеги на эту страницу?

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


31 минуту назад, alinalessioYandex сказал:

Полагаю, там вставить в контроллер строчку кода будет достаточно. За 200 р. кто поможет вставить метатеги на эту страницу?

Ну, раз вы так здорово всё уже знаете, то не дешевле будет самому сделать?
200р за такую фигню?
Обсудить с вами, получить доступы, зайти на сайт (это, кстати, само по себе с некоторыми пользователями в целый квест превращается). Разобраться в работе незнакомого модуля. Выяснить, почему в нем не работают штатные функции, исправить их или(скорее всего) написать с нуля для них админскую часть модуля, создать  нужные поля в базе данных, решить возможные(очень частые) неожиданные моменты...
И за всё это целых 200р? Да вы балуете исполнителей.

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


7 минут назад, Shureg сказал:

Ну, раз вы так здорово всё уже знаете, то не дешевле будет самому сделать?
200р за такую фигню?
Обсудить с вами, получить доступы, зайти на сайт (это, кстати, само по себе с некоторыми пользователями в целый квест превращается). Разобраться в работе незнакомого модуля. Выяснить, почему в нем не работают штатные функции, исправить их или(скорее всего) написать с нуля для них админскую часть модуля, создать  нужные поля в базе данных, решить возможные(очень частые) неожиданные моменты...
И за всё это целых 200р? Да вы балуете исполнителей.

Админку не надо. Можно просто в файл вписать метатеги. 

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


1 минуту назад, alinalessioYandex сказал:

Админку не надо. Можно просто в файл вписать метатеги. 

Ну, это вы так думаете. В какой "просто файл" вы их собрались вписать? В контроллер header для всех страниц магазина? Удачи.
Я уже написал, раз всё знаете, лучше самостоятельно.

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


5 минут назад, Shureg сказал:

Ну, это вы так думаете. В какой "просто файл" вы их собрались вписать? В контроллер header для всех страниц магазина? Удачи.
Я уже написал, раз всё знаете, лучше самостоятельно.

Полагаю, в контроллер faq.php

Вот его содержание:

Спойлер



<?php
/*
Version: 1.0
Author: Artur Sułkowski
Website: http://artursulkowski.pl
*/

class ControllerModuleFaq extends Controller {
	public function index() {
		$lang_id = $this->config->get('config_language_id');
		$setting = $this->config->get('faq_module');

        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/css/faq.css')) {
            $this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template') . '/css/faq.css');
        }

        $data['settings'] = $setting['settings'];
		$data['sections'] = array();

		if(is_array($setting['sections'])) {
			$this->sortData($setting['sections'], 'order');
            foreach($setting['sections'] as $section){
                $data['sections'][$section['id']]['title'] = $section['title'][$lang_id];
                $data['sections'][$section['id']]['hidden'] = isset($section['hidden']) && $section['hidden'] == 1 ? true : false; ;
                if(!empty($setting['items'])){
                    $this->sortData($setting['items'], 'order');
                    $i = 0;
                    foreach($setting['items'] as $item){
                        if(!isset($item['section_id'])) continue;
                        if($item['section_id'] == $section['id']){
                            $data['sections'][$section['id']]['items'][$i]['question'] = html_entity_decode($item['question'][$lang_id], ENT_QUOTES, 'UTF-8');
                            $data['sections'][$section['id']]['items'][$i]['answer'] = html_entity_decode($item['answer'][$lang_id], ENT_QUOTES, 'UTF-8');
                            $i++;
                        }
                    }
                }
            }
		}

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);

		$data['breadcrumbs'][] = array(
			'text' => "Часто задаваемые вопросы",
			'href' => $this->url->link('module/faq', '', 'SSL')
		);

        $data['heading_title'] = 'Часто задаваемые вопросы';

		$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');

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/faq.tpl')) {
            $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/module/faq.tpl', $data));
		} else {
			$this->response->setOutput($this->load->view('default/template/module/faq.tpl', $data));
		}
	}



    function sortData(&$data, $col)
    {
        usort($data, function($a, $b) use ($col){
            if ($a[$col] == $b[$col]) {
                return 0;
            }
            return ($a[$col] < $b[$col]) ? -1 : 1;
        });
    }
}
?>


 

Я понял, что для вас это недостаточно для такой работы. На форумах новичкам и бесплатно помогают написать пару строк кода. Я предложил символическую оплату за это. Если я неадекватно оценил объём работы, то моя просьба останется без ответа. 

Я не шарю в пхп. Но надеюсь, что там работы на пару строк и что кто-нибудь откликнется.

Всем добра! Я пришёл с миром! Не надо меня выставлять, будто я со своим предложением в 200 р. кому-то нахамил. ))))

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


21 минуту назад, alinalessioYandex сказал:

Не надо меня выставлять, будто я со своим предложением в 200 р. кому-то нахамил. ))))

Вообще-то именно так примерно и получилось. Выглядит, как подачка. Лучше уж уж вовсе бесплатно, если у исполнителя приступ доброго самарянина.
Извините тоже, если что не так написал :-)

А в вашем файле вставлять некуда:
$data['header'] = $this->load->controller('common/header');
И как вы сюда что-то вставите?
Надо создать правильные данные в базе, чтобы контроллер common/header их получил и отправил в контроллер вашего модуля. В нормальном случае они создаются в админской части модуля, но у вас это либо вовсе не предусмотрено автором, либо сделано криво и не работает. Надо либо править, либо дописывать своё. Задача не эпическая, но всё же не ctrlC/ctrlV
PS: Если бы ваш вопрос решался простой вставкой чего-то куда-то, вам бы сразу подсказали. Бесплатно )

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


14 минут назад, Shureg сказал:

Вообще-то именно так примерно и получилось. Выглядит, как подачка. Лучше уж уж вовсе бесплатно, если у исполнителя приступ доброго самарянина.
Извините тоже, если что не так написал :-)

А в вашем файле вставлять некуда:
$data['header'] = $this->load->controller('common/header');
И как вы сюда что-то вставите?
Надо создать правильные данные в базе, чтобы контроллер common/header их получил и отправил в контроллер вашего модуля. В нормальном случае они создаются в админской части модуля, но у вас это либо вовсе не предусмотрено автором, либо сделано криво и не работает. Надо либо править, либо дописывать своё. Задача не эпическая, но всё же не ctrlC/ctrlV

Понял. Спасибо за разъяснение. Раз модуль не предусмотрен для этого, то и фиг с ним ))

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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