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

Добавляю новую позицию в footer - не получается. Помогите.


Recommended Posts

Я опишу все действия, которые произвожу, для того, чтобы в подвале появилась позиция для модулей, а вы подскажите пожалуйста, где я ошибаюсь, ибо с ног сбился, но так и не пойму в чем ошибка.
 
1. Создаю новый файл: catalog\controller\common\content_footer1.php
Содержимое этого файла:


 

<?php
class ControllerCommonContentFooter1 extends Controller {
	public function index() {
		$this->load->model('design/layout');

		if (isset($this->request->get['route'])) {
			$route = (string)$this->request->get['route'];
		} else {
			$route = 'common/home';
		}

		$layout_id = 0;

		if ($route == 'product/category' && isset($this->request->get['path'])) {
			$this->load->model('catalog/category');

			$path = explode('_', (string)$this->request->get['path']);

			$layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
		}

		if ($route == 'product/product' && isset($this->request->get['product_id'])) {
			$this->load->model('catalog/product');

			$layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
		}

		if ($route == 'information/information' && isset($this->request->get['information_id'])) {
			$this->load->model('catalog/information');

			$layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
		}

		if (!$layout_id) {
			$layout_id = $this->model_design_layout->getLayout($route);
		}

		if (!$layout_id) {
			$layout_id = $this->config->get('config_layout_id');
		}

		$this->load->model('extension/module');

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

		$modules = $this->model_design_layout->getLayoutModules($layout_id, 'content_footer1');

		foreach ($modules as $module) {
			$part = explode('.', $module['code']);

			if (isset($part[0]) && $this->config->get($part[0] . '_status')) {
				$data['modules'][] = $this->load->controller('module/' . $part[0]);
			}

			if (isset($part[1])) {
				$setting_info = $this->model_extension_module->getModule($part[1]);

				if ($setting_info && $setting_info['status']) {
					$data['modules'][] = $this->load->controller('module/' . $part[0], $setting_info);
				}
			}
		}

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/content_footer1.tpl')) {
			return $this->load->view($this->config->get('config_template') . '/template/common/content_footer1.tpl', $data);
		} else {
			return $this->load->view('default/template/common/content_footer1.tpl', $data);
		}
	}
}

 


 
2. В файле catalog\controller\common\footer.php
после этой строки

$data['newsletter'] = $this->url->link('account/newsletter', '', 'SSL');

вставил такую:

$data['content_footer1'] = $this->load->controller('common/content_footer1');

3. Создаю новый файл: catalog\view\theme\ogni\template\common\content_footer1.tpl
с содержимым:


<?php foreach ($modules as $module) { ?>
<?php echo $module; ?>
<?php } ?>

4. В файле catalog\view\theme\ogni\template\common\footer.tpl
между тегами боди добавляю строку:


<?php echo $content_footer1; ?>

5. В файле admin\controller\design\layout.php
перед строкой:


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

вставляю строку:

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

6. В файле admin\view\template\design\layout_form.tpl
после строки:


<option value="column_right"><?php echo $text_column_right; ?></option>
                    <?php } ?>

вставляю:

<?php if ($layout_module['position'] == 'content_footer1') { ?>
                    <option value="content_footer1" selected="selected"><?php echo $text_content_footer1; ?></option>
                    <?php } else { ?>
                    <option value="content_footer1"><?php echo $text_content_footer1; ?></option>
                    <?php } ?>

и ниже после строки:

html += '    <option value="column_right"><?php echo $text_column_right; ?></option>';

вставляю:

html += '    <option value="content_footer1"><?php echo $text_content_footer1; ?></option>';

7. В файле admin\language\russian\design\layout.php
после строки:


$_['text_column_right']         = 'Правая колонка';

вставляю строку:

$_['text_content_footer1']   	= 'Подвал 1';

 
========================
 
В итоге получаю следующее: В админке Дизайн/Схемы выбираю Главную. Новая позиция Подвал 1 существует. Выбрать ее можно. Но когда сохраняю, и снова захожу в Схемы, то вижу, что эта позиция не сохраняется. Ставлю любую другую, они сохраняются, а эта новая не сохраняется, а сбрасывается на первую позицию в списке.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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