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

Как сделать свой дизайн страницы ?


Recommended Posts

Друзья, не так давно связался с опенкартом, еще до конца не понял принципов работы. Такая проблема. Есть 2 страницы ( О нас ) и ( Отзывы) которые нужно сверстать. Сам же сайт уже был сверстан ( купленный шаблон  https://899themes.ru/lightshop/ )

 

Есть прям 2 главных вопроса которые распишу ниже 

1 - как создать правильно отдельный tpl для страницы ( Статьи информации)  и туда наверстывать

 

2 - Можно ли в опенкарте создавать свой tpl для вывода модуля  ( к примеру есть модуль баннеры) на главной я вывожу этот баннер в слик слайдере на всю ширину, а на внутренней странице я хочу просто эти баннеры вывести 3 шт в ряд без всякого слайдера ( другие картинки ) подкатегория баннеров. Соответственно будет другая <div> обертка.

 

Создал я страницу в разделе ( Статьи)  создал ей отдельный дизайн  и при добавлении чего либо в макет  оно появляется у меня в этом блоке. (см прикреп изображение) Получается что я могу вставлять только в область контейнера. Ну не беда, значит надо создавать отдельную tpl для страницы ( О нас) 

Продублировал  в контроллере и в шаблоне файлы и нашел на просторах рунета условие 

 

	        if ($information_id == 11 ) {
			$this->response->setOutput($this->load->view('information/o-nas', $data));
			} else {
			$this->response->setOutput($this->load->view('information/information', $data));
			}

После таких действий действительно появилась возможность  в том макете что то менять по блокам ( дело в том что сама страница о нас включает структуру которая выходит за пределы контейнера бустрап , к примеру ( блок слайдера , с фоном залитым) дальше блок с другим фоном и т.д.)

В общем после проделанных действий у меня при добавлении блока через макеты на странице о нас ( появляются 2 раза одно и тоже.) 

Какой бы блок не добавил, он выводится 2 раза. Где я мог накосячить? 

 

И такой вопрос, как я могу создавать свои tpl дизайны для отдельных модулей? ну к примеру я хочу чтоб выводился модуль баннер, но с моей версткой, как это реализуется на опенкарте?  К примеру на wp этот вопрос просто решается тем что создаем отдельный page-onas.php и туда помещаем полностью свои div и работаем. Как с этим обстоят дела у опенкарта? 

Сейчас у меня весь контент заточен в блок container bootstrap 4

 

<main class="content">
	<div class="container">
	<?php echo $content_top; ?>
		<div class="breadcrumbs breadcrumbs--sm-pad">
			<ul class="breadcrumb__list">
			<?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
			<?php if($i == 0) { ?>
				<li <?php echo $schema ? 'itemscope itemtype="http://data-vocabulary.org/Breadcrumb"' : ''?> class="breadcrumb__list-item"><a href="<?php echo $breadcrumb['href']; ?>" <?php echo $schema ? 'itemprop="url"' : ''?>><span <?php echo $schema ? 'itemprop="title"' : ''?>><?php echo $breadcrumb['text']; ?></span></a></li>
			<?php } elseif($i + 1 < count($breadcrumbs)) { ?>
				<li <?php echo $schema ? 'itemscope itemtype="http://data-vocabulary.org/Breadcrumb"' : ''?> class="breadcrumb__list-item"><svg class="icon-chevron-right"><use xlink:href="#chevron-small-left"></use></svg><a href="<?php echo $breadcrumb['href']; ?>" <?php echo $schema ? 'itemprop="url"' : ''?>><span <?php echo $schema ? 'itemprop="title"' : ''?>><?php echo $breadcrumb['text']; ?></span></a></li>		
			<?php } else { ?>
				<li class="breadcrumb__list-item"><svg class="icon-chevron-right"><use xlink:href="#chevron-small-left"></use></svg><?php echo $breadcrumb['text']; ?></li>		
			<?php } ?>
			<?php } ?> 			
			</ul>
		</div>
    <h1 class="content__title"><?php echo $heading_title; ?></h1>
	<div class="row">
		<?php echo $column_left ? '<div class="col-sm-3">' . $column_left . '</div>' : ''?>
		<div class="col-sm-<?php echo $col; ?>">
			<div class="editor">
				<?php echo $description; ?>
			</div>
		</div>
		<?php echo $column_right ? '<div class="col-sm-3">' . $column_right . '</div>' : ''?>
	</div>	
	<?php echo $content_bottom; ?>
	</div>
</main>

 

Безымянный.png

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


if (file_exists(DIR_TEMPLATE . 'butik/template/product/category_' . $category_id . '.tpl')) 
    $this->response->setOutput($this->load->view('product/category_'.$category_id, $data));
else 
    $this->response->setOutput($this->load->view('product/category', $data));

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

для категории с айди 100 будет искать тплку с именем category_100.tpl

 

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

4 минуты назад, kJlukOo сказал:

if (file_exists(DIR_TEMPLATE . 'butik/template/product/category_' . $category_id . '.tpl')) 
    $this->response->setOutput($this->load->view('product/category_'.$category_id, $data));
else 
    $this->response->setOutput($this->load->view('product/category', $data));

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

для категории с айди 100 будет искать тплку с именем category_100.tpl

 

 

Ну мое же условие аналогично такому, но почему то дубли все равно идут. Может исходя из этого условия не надо в контроллере создавать отдельный контроллер для o-nas?

 

Ну а по 2 вопросу не поможете?

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


если у вас задача только править tpl, а логика контроллера остается одинаковой, то вот модуль, позволяет наплодить сколько угодно tpl, с разной версткой.

 

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

27 минут назад, anboza сказал:

если у вас задача только править tpl, а логика контроллера остается одинаковой, то вот модуль, позволяет наплодить сколько угодно tpl, с разной версткой.

 

 

и для модуля я тоже смогу свой тпл создать? По факту нужно всего 2 страницы со своим дизайном создать. Есть ли смысл целый модуль покупать?

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


Только что, Fox23 сказал:

и для модуля я тоже смогу свой тпл создать?

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

этот модуль, создает тпл, для стандартных контроллеров. суть его в удобстве.

можно в контроллере подцепить ту тпл,которую хотите, вам выше пример написали как.

 

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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