Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Подскажите как такое реализовать, очень нужно.

Подскажите как такое реализовать, очень нужно.


     07.06.2014    Тег, Реализация    Все вопросы » Шаблоны (TPL)    2973

вопрос
Привет. И так столкнулся с огромной проблемой.
Нужно что бы класс: recent-wrap-portfolio выводился в shortstory, но не выводился в остальных страницах.
Зачем мне это нужно:
За тем что данный класс портит стиль других страниц если он там выводится.
Я пробовал засунуть его в файл shortstory, но за счет того что там цикл, то он повторяется каждый раз снова и снова, а это мне не нужно, нужно что бы он выводился только один раз в файле shortstory.
Помогите кто может, не смогу найти решение данного вопроса, может можно как то через доп поля или еще как то.
У меня DLE 10.2

Ответил: PunPun


Файл engine/modules/show.short.php
Найти строку:
$db->free( $sql_result );


После нее вставить:
$tpl->result['content'] = "<div class=\"recent-wrap-portfolio\">".$tpl->result['content']."</div>";

15 комментариев

stenix
Юзер

stenix - 7 июня 2014 18:39 -

Помогите кто нибудь, весь мозг себе уже вынес никак сделать не могу(
Не хочется на самописный двиг с dle съезжать

lutskboy
Эксперт

lutskboy - 7 июня 2014 19:17 -

может с помощью тегов?

stenix
Юзер

stenix - 7 июня 2014 19:27 -

lutskboy,
каких? я не нашел такого :(

FastFud
Юзер

FastFud - 7 июня 2014 21:22 -

нужно что бы он выводился только один раз в файле shortstory.
не важно где именно ?

stenix
Юзер

stenix - 7 июня 2014 21:37 -

Ну Div открывается,
и Div закрывается
то есть в начале и в конце shortstory

FastFud
Юзер

FastFud - 7 июня 2014 21:43 -

Используйте тег {custom}(что за зверь читайте в документации к движку) тогда сможете, если я вас правильно понял.


stenix
Юзер

stenix - 7 июня 2014 23:02 -

Цитата: FastFud
tom}(

Через {custom} никак так сделать не получиться увы, это вариант рассматривался мною изначально, и отредактировать все в шаблоне тоже не получится :((
Нужен еще какой то вариант. Может кто сталкивался с такой проблемой.

FastFud
Юзер

FastFud - 7 июня 2014 23:09 -

Значит я не так понял или вы не так объяснили.

stenix
Юзер

stenix - 8 июня 2014 00:22 -

FastFud,
прочитайте еще раз, я все правильно объяснил)
попробуйте объяснить что вы мне предложили, может я просто не пойму что вы хотите сделать через {custom}.

FastFud
Юзер

FastFud - 8 июня 2014 00:28 -

Не раз прочитал так и не понял...

ravchik
Юзер

ravchik - 8 июня 2014 07:40 -

Я тоже никак не пойму, чего же хочет автор...

Sakta
Юзер

Sakta - 8 июня 2014 09:41 -

Думаю автор хочет примерно так:
Надо найти в main.tpl {content} и заменить на
[aviable=main|date|cat|search|lastnews|tags|allnews]<div class="recent-wrap-portfolio">{content}</div>[/aviable]
Как видно, класс recent-wrap-portfolio обтянут в shortstory и отсутствует цикличность

stenix
Юзер

stenix - 8 июня 2014 10:05 -

Ппц, ребят ну все же понятно вроде написал.

Вот что у меня в Main.tpl :

  
[not-aviable=main]
<div class="recent-wrap-portfolio">        
  {content}
  </div>
[/not-aviable]

(В файле main я как раз использую {custom})
Данный класс выводится соответственно на всех страницах кроме главной.
А мне нужно что бы он выводился только в шаблоне shortstory.tpl
Мой shortstory.tpl :
<div class="post-93 portfolio type-portfolio status-publish hentry" id="post-93">
<div class="post-thumb" id="post-93">
<img width="311" height="204" src=""/miniature2.jpg" alt="Abysses" />
<a class="nom-projet" title="Abysses" href="#">        
<div class="titre-nom-projet"><span class="back_titre">Abysses</span></div>
</a></div>
</div>

Но если я его засовываю в shortstory.tpl то он повторяется если у нас больше одной новости. Мне не нужно что бы он повторялся не сколько раз, мне нужно только что бы данный класс выводился один раз в файле шаблона shortstory.tpl
Вначале и в конце.

К примеру если у нас 3 новости на сайте есть, то это будет выглядеть вот так:

<!-- Данный класс должен выводится только в файле shortstory.tpl и только один раз, то есть с добавлением новой новости, он будет появляться еще раз. он будет только сначала шаблона ну и соответственно закрывающий div в конце-->

<div class="recent-wrap-portfolio">    

<!-- Новость №1 начало -->
<div class="post-93 portfolio type-portfolio status-publish hentry" id="post-93">
<div class="post-thumb" id="post-93">
<img width="311" height="204" src=""/miniature2.jpg" alt="Abysses" />
<a class="nom-projet" title="Abysses" href="#">        
<div class="titre-nom-projet"><span class="back_titre">Abysses</span></div>
</a></div>
</div>
    <!-- Новость №1 конец -->

<!-- Новость №2 начало -->
<div class="post-93 portfolio type-portfolio status-publish hentry" id="post-93">
<div class="post-thumb" id="post-93">
<img width="311" height="204" src=""/miniature2.jpg" alt="Abysses" />
<a class="nom-projet" title="Abysses" href="#">        
<div class="titre-nom-projet"><span class="back_titre">Abysses</span></div>
</a></div>
</div>
    <!-- Новость №2 конец -->

<!-- Новость №3 начало -->
<div class="post-93 portfolio type-portfolio status-publish hentry" id="post-93">
<div class="post-thumb" id="post-93">
<img width="311" height="204" src=""/miniature2.jpg" alt="Abysses" />
<a class="nom-projet" title="Abysses" href="#">        
<div class="titre-nom-projet"><span class="back_titre">Abysses</span></div>
</a></div>
</div>
    <!-- Новость №3 конец -->

</div>
<!-- (закрытие данного класса) Данный класс должен выводится только в файле shortstory.tpl -->


Мне не нужно цикличность с этим классом, и он должен выводится только в shortstory.tpl , (если он выводится в других шаблонах, то он портит шаблон).

LazyDev
PHP-developer

LazyDev - 8 июня 2014 11:33 -

Файл engine/modules/show.short.php
Найти строку:
$db->free( $sql_result );


После нее вставить:
$tpl->result['content'] = "<div class=\"recent-wrap-portfolio\">".$tpl->result['content']."</div>";

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

stenix
Юзер

stenix - 8 июня 2014 12:15 -

Gameer,
Что то вроде этого я и предполагал услышать.
Большое спасибо, проблема решена :)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх