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

Мета-теги раздела information.


Recommended Posts

День  добрый, подскажите как можно реализовать поддержку мета-тегов keywords/descriptions в разделе статьи для OpenCart 1.4.8? Самое простое что на ум приходит в informations.tpl внести несколько тегов keywords/descriptions и по условию подставлять (это для нескольких статей).

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


как можно реализовать поддержку мета-тегов keywords/descriptions в разделе статьи для OpenCart 1.4.8

как обычно - добавив столбцы в БД и протянув их сквозь админку/фронт.
Надіслати
Поділитися на інших сайтах

как обычно - добавив столбцы в БД и протянув их сквозь админку/фронт.

Делаю так:

1. Добавляю поля в БД (выполняю SQL зарос)

ALTER TABLE `oc_information_description` ADD `meta_description` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
ADD `meta_keyword` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL


2.  Редактирую admin/view/template/catalog/information_form.tpl (блок <table class=»form»>)

<tr>
<td><?php echo $entry_meta_description; ?></td>
<td><textarea name="information_description[<?php echo $language['language_id']; ?>][meta_description]" cols="40" rows="5"><?php echo isset($information_description[$language['language_id']]) ? $information_description[$language['language_id']]['meta_description'] : ''; ?></textarea></td>
</tr>
<tr>
<td><?php echo $entry_meta_keyword; ?></td>
<td><textarea name="information_description[<?php echo $language['language_id']; ?>][meta_keyword]" cols="40" rows="5"><?php echo isset($information_description[$language['language_id']]) ? $information_description[$language['language_id']]['meta_keyword'] : ''; ?></textarea></td>
</tr>


3.  Редактирую admin/model/catalog/information.php (метод public function getInformationDescriptions($information_id)  в теле foreach ($query->rows as $result))

$this->data['entry_meta_keyword'] = $this->language->get('entry_meta_keyword');
$this->data['entry_meta_description'] = $this->language->get('entry_meta_description');

4. В том же файле метод public function changeStatusInformations($informations, $status)  и метод public function editInformation($information_id, $data) (после "SET")

meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "',

5. Ну и соответственно языковой файл прописываю

 

В результате при попытке записать в БД вводимые в админке теги вижу следущее:

Notice: Undefined variable: value in /var/www/glinda/data/www/seotime.su/onbuton/admin/model/catalog/information.php on line 26Notice: Undefined variable: value in /var/www/glinda/data/www/seotime.su/onbuton/admin/model/catalog/information.php on line 26Error: Unknown column 'meta_keyword' in 'field list'
Error No: 1054
UPDATE oc_information SET meta_keyword = '', meta_description = '', sort_order = '4', status = '1' WHERE information_id = '7'

Не могу разобраться почему неопределена переменная meta_keyword?

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


Делаю так:

1. Добавляю поля в БД (выполняю SQL зарос)

ALTER TABLE `oc_information_description` ADD `meta_description` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
ADD `meta_keyword` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL


2.  Редактирую admin/view/template/catalog/information_form.tpl (блок <table class=»form»>)

<tr>
<td><?php echo $entry_meta_description; ?></td>
<td><textarea name="information_description[<?php echo $language['language_id']; ?>][meta_description]" cols="40" rows="5"><?php echo isset($information_description[$language['language_id']]) ? $information_description[$language['language_id']]['meta_description'] : ''; ?></textarea></td>
</tr>
<tr>
<td><?php echo $entry_meta_keyword; ?></td>
<td><textarea name="information_description[<?php echo $language['language_id']; ?>][meta_keyword]" cols="40" rows="5"><?php echo isset($information_description[$language['language_id']]) ? $information_description[$language['language_id']]['meta_keyword'] : ''; ?></textarea></td>
</tr>


3.  Редактирую admin/model/catalog/information.php (метод public function getInformationDescriptions($information_id)  в теле foreach ($query->rows as $result))

$this->data['entry_meta_keyword'] = $this->language->get('entry_meta_keyword');
$this->data['entry_meta_description'] = $this->language->get('entry_meta_description');

4. В том же файле метод public function changeStatusInformations($informations, $status)  и метод public function editInformation($information_id, $data) (после "SET")

meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "',

5. Ну и соответственно языковой файл прописываю

 

В результате при попытке записать в БД вводимые в админке теги вижу следущее:

Notice: Undefined variable: value in /var/www/glinda/data/www/seotime.su/onbuton/admin/model/catalog/information.php on line 26Notice: Undefined variable: value in /var/www/glinda/data/www/seotime.su/onbuton/admin/model/catalog/information.php on line 26Error: Unknown column 'meta_keyword' in 'field list'
Error No: 1054
UPDATE oc_information SET meta_keyword = '', meta_description = '', sort_order = '4', status = '1' WHERE information_id = '7'

Не могу разобраться почему неопределена переменная meta_keyword?

 

 

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

$this->data['entry_meta_keyword'] = $this->language->get('entry_meta_keyword');
$this->data['entry_meta_description'] = $this->language->get('entry_meta_description');
Надіслати
Поділитися на інших сайтах


 

Делаю так:

1. Добавляю поля в БД (выполняю SQL зарос)

ALTER TABLE `oc_information_description` ADD `meta_description` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
ADD `meta_keyword` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL


2.  Редактирую admin/view/template/catalog/information_form.tpl (блок <table class=»form»>)

<tr>
<td><?php echo $entry_meta_description; ?></td>
<td><textarea name="information_description[<?php echo $language['language_id']; ?>][meta_description]" cols="40" rows="5"><?php echo isset($information_description[$language['language_id']]) ? $information_description[$language['language_id']]['meta_description'] : ''; ?></textarea></td>
</tr>
<tr>
<td><?php echo $entry_meta_keyword; ?></td>
<td><textarea name="information_description[<?php echo $language['language_id']; ?>][meta_keyword]" cols="40" rows="5"><?php echo isset($information_description[$language['language_id']]) ? $information_description[$language['language_id']]['meta_keyword'] : ''; ?></textarea></td>
</tr>


3.  Редактирую admin/model/catalog/information.php (метод public function getInformationDescriptions($information_id)  в теле foreach ($query->rows as $result))

$this->data['entry_meta_keyword'] = $this->language->get('entry_meta_keyword');
$this->data['entry_meta_description'] = $this->language->get('entry_meta_description');

4. В том же файле метод public function changeStatusInformations($informations, $status)  и метод public function editInformation($information_id, $data) (после "SET")

meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "',

5. Ну и соответственно языковой файл прописываю

 

В результате при попытке записать в БД вводимые в админке теги вижу следущее:

Notice: Undefined variable: value in /var/www/glinda/data/www/seotime.su/onbuton/admin/model/catalog/information.php on line 26Notice: Undefined variable: value in /var/www/glinda/data/www/seotime.su/onbuton/admin/model/catalog/information.php on line 26Error: Unknown column 'meta_keyword' in 'field list'
Error No: 1054
UPDATE oc_information SET meta_keyword = '', meta_description = '', sort_order = '4', status = '1' WHERE information_id = '7'

Не могу разобраться почему неопределена переменная meta_keyword?

 

 

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

$this->data['entry_meta_keyword'] = $this->language->get('entry_meta_keyword');
$this->data['entry_meta_description'] = $this->language->get('entry_meta_description'); 
А в admin/model/catalog/information.php конечно же

'meta_keyword' => $result['meta_keyword'],
'meta_description' => $result['meta_description'],
Надіслати
Поділитися на інших сайтах


Зачем вы столько раз сами себя процитировали?

 

По делу: Убедитесь, что на первом этапе у вас добавились поля в таблицу. Зайдите через phpMyAdmin и посмотрите.

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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