Jump to content

Вывод своей страницы на главную


Recommended Posts

Добрый день форумчане. 

Столкнулся с проблемкой, а именно хочу к главной странице прикрутить страницу benefits.tpl. Страницу benefits создал вопросов по этому нет, а вот в main.tpl прописываю {include file='benefits.tpl'} и на главной выводится описание "о нас" дважды =(((

Help me please!

Link to post
Share on other sites

Что мешает главную 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}
Link to post
Share on other sites

Ну не может переменная {$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}
Link to post
Share on other sites

 

Ну не может переменная {$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

Link to post
Share on other sites
  • 3 months later...

 

Ну не может переменная {$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');
	}
}
Link to post
Share on other sites
  • 9 months later...

Добрый день форумчане. 

Столкнулся с проблемкой, а именно хочу к главной странице прикрутить страницу 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 страницы которую нам нуно получить..

Link to post
Share on other sites
  • 4 years later...

{foreach $pages as $p}
{if $p->id == 2}
{$p->body}
{/if}
{/
foreach}

 

Данный способ выводит только одну страницу. У меня в шаблоне product.tpl под описание товара идёт блок в виде табов (см.фото)

и в каждом табе должен выводиться текст отдельной страницы, так вот если я в следующем табе прописываю это код но меняю id

страницы, то уже ничего не выводится. Подскажите пожалуйста как сделать правильно.

post-22351-0-48289100-1576731304_thumb.jpg

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...