n1c Posted January 13, 2014 Report Share Posted January 13, 2014 Добрый день форумчане. Столкнулся с проблемкой, а именно хочу к главной странице прикрутить страницу benefits.tpl. Страницу benefits создал вопросов по этому нет, а вот в main.tpl прописываю {include file='benefits.tpl'} и на главной выводится описание "о нас" дважды =(((Help me please! Quote Link to post Share on other sites
Noxter Posted January 13, 2014 Report Share Posted January 13, 2014 Что мешает главную main.tpl изменить содержимым шаблона benefits.tpl? Quote Link to post Share on other sites
Noxter Posted January 13, 2014 Report Share Posted January 13, 2014 Скиньте содержимое обоих файлов. Quote Link to post Share on other sites
n1c Posted January 13, 2014 Author Report Share Posted January 13, 2014 Что мешает главную main.tpl изменить содержимым шаблона benefits.tpl? в том то и дело что мне нужно main.tpl - с описанием "о нас" и benefits.tpl - с описанием "наши преимущества"а между описанием "о нас" и "наши преимущества" стоит товар Вот main.tpl {* Главная страница магазина *} {* Для того чтобы обернуть центральный блок в шаблон, отличный от index.tpl *} {* Укажите нужный шаблон строкой ниже. Это работает и для других модулей *} {$wrapper = 'index.tpl' scope=parent} {* Тело страницы *} {$page->body} {* Рекомендуемые товары *} {get_featured_products var=featured_products limit=3} {if $featured_products} <!-- Список товаров--> <h1>Рекомендуемые товары</h1> <ul class="tiny_products"> {foreach $featured_products as $product} <!-- Товар--> <li class="product"> <!-- Фото товара --> {if $product->image} <div class="image"> <a href="products/{$product->url}"><img src="{$product->image->filename|resize:200:200}" alt="{$product->name|escape}"/></a> </div> {/if} <!-- Фото товара (The End) --> <!-- Название товара --> <h3><a data-product="{$product->id}" href="products/{$product->url}">{$product->name|escape}</a></h3> <!-- Название товара (The End) --> {if $product->variants|count > 0} <!-- Выбор варианта товара --> <form class="variants" action="/cart"> <table> {foreach $product->variants as $v} <tr class="variant"> <td> <input id="featured_{$v->id}" name="variant" value="{$v->id}" type="radio" class="variant_radiobutton" {if $v@first}checked{/if} {if $product->variants|count<2}style="display:none;"{/if}/> </td> <td> {if $v->name}<label class="variant_name" for="featured_{$v->id}">{$v->name}</label>{/if} </td> <td> {if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if} <span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span> </td> </tr> {/foreach} </table> <input type="submit" class="button" value="в корзину" data-result-text="добавлено"/> </form> <!-- Выбор варианта товара (The End) --> {else} Нет в наличии {/if} </li> <!-- Товар (The End)--> {/foreach} </ul> {/if} <div id="header_benefits"> <div class="item"> {include file='benefits.tpl'} </div> </div> Вот benefits.tpl {* Тело страницы *} {$page->body} Quote Link to post Share on other sites
n1c Posted January 13, 2014 Author Report Share Posted January 13, 2014 Вроде понимаю, что проблема в {$page->body} нужно наверн задать id но хз как Quote Link to post Share on other sites
n1c Posted January 14, 2014 Author Report Share Posted January 14, 2014 никто не знает??? Quote Link to post Share on other sites
Noxter Posted January 14, 2014 Report Share Posted January 14, 2014 Ну не может переменная {$page->body} иметь 2 содержимого. Если нужно вывести страницу по ID или URL то выполните следующее:1. В файл view/MainView.php перед: if($this->page)добавьте: $this->design->assign('promopage', $this->pages->get_page('contact')); Где contact может быть либо ID страницы либо ее URL.2. В шаблоне main.tpl в нужном месте используйте: {$promopage->body} Quote Link to post Share on other sites
n1c Posted January 14, 2014 Author Report Share Posted January 14, 2014 Ну не может переменная {$page->body} иметь 2 содержимого. Если нужно вывести страницу по ID или URL то выполните следующее:1. В файл view/MainView.php перед: if($this->page)добавьте: $this->design->assign('promopage', $this->pages->get_page('contact')); Где contact может быть либо ID страницы либо ее URL. 2. В шаблоне main.tpl в нужном месте используйте: {$promopage->body} Всё работает!! Спасибо Noxter Quote Link to post Share on other sites
mslaud Posted May 11, 2014 Report Share Posted May 11, 2014 Ну не может переменная {$page->body} иметь 2 содержимого. Если нужно вывести страницу по ID или URL то выполните следующее:1. В файл view/MainView.php перед: if($this->page)добавьте: $this->design->assign('promopage', $this->pages->get_page('contact')); Где contact может быть либо ID страницы либо ее URL. 2. В шаблоне main.tpl в нужном месте используйте: {$promopage->body} для версии 2.3.2 точно так же надо делать? а то у меня не получается.. ничего не выводит только не знаю из-за чего вот какой код получается.. все правильно? задача: необходимо, чтоб на странице товара под описанием еще выводился блок с описанием доставки и оплаты. естественно надо, чтоб клиент сам мог его менять. потому жестко прописать в теме нельзя текст. надо чтоб менялось в редакторе.. вот решил сделать отдельную страницу которая нигде не выводится на сайте и вывести ее body в нужном мне месте. class MainView extends View { function fetch() { $this->design->assign('productdelivery', $this->pages->get_page('14')); if($this->page) { $this->design->assign('meta_title', $this->page->meta_title); $this->design->assign('meta_keywords', $this->page->meta_keywords); $this->design->assign('meta_description', $this->page->meta_description); } return $this->design->fetch('main.tpl'); } } Quote Link to post Share on other sites
Gregar Posted February 17, 2015 Report Share Posted February 17, 2015 Добрый день форумчане. Столкнулся с проблемкой, а именно хочу к главной странице прикрутить страницу benefits.tpl. Страницу benefits создал вопросов по этому нет, а вот в main.tpl прописываю {include file='benefits.tpl'} и на главной выводится описание "о нас" дважды =(((Help me please! Не знаю на сколько актуален данный вопрос сейчас, но возможно кому-то пригодится иное более простое решение. {foreach $pages as $p} {if $p->id == 2} {$p->body} {/if} {/foreach} При помощи данного участка кода мы с легкостью получаем нужную нам страницу по ее ID. {if $p->id == 2} 2 - это id страницы которую нам нуно получить.. Quote Link to post Share on other sites
Alex000 Posted December 19, 2019 Report Share Posted December 19, 2019 {foreach $pages as $p}{if $p->id == 2}{$p->body}{/if}{/foreach} Данный способ выводит только одну страницу. У меня в шаблоне product.tpl под описание товара идёт блок в виде табов (см.фото)и в каждом табе должен выводиться текст отдельной страницы, так вот если я в следующем табе прописываю это код но меняю idстраницы, то уже ничего не выводится. Подскажите пожалуйста как сделать правильно. Quote Link to post Share on other sites
Alex000 Posted December 19, 2019 Report Share Posted December 19, 2019 Всем спасибо за помощь. буду пробовать. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.