0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 1345 Просмотров
*

grayn

  • Новичок
  • 8
  • 0 / 0
Добрый день!

В поиске не нашел, прошу совета. Хочется сделать отображение вводного текста ПЕРЕД изображением, после картинки уже полный текст (кроме вводного), если вводный текст задан.
Если же вводный текст не задан - тогда картинка, после нее полный текст.

Пытался перенести строки

Код
            <?php if($this->item->params->get('itemIntroText')): ?>
           
            <!-- Item introtext -->
           
            <div class="itemIntroText">
                  <?php echo $this->item->introtext; ?>
            </div>
            <?php endif; ?>

перед itemImageBlock, тогда ситуация двоякая - если вводный текст задан, то все хорошо работает. Если же вводный не задан, получается полный текст, потом картинка, потом вновь полный текст.

На сайте тысячи статей в K2, во всех поправить вводный не представляется возможным.

Кто-нибудь сталкивался с такой задачей? Просьба объяснять попроще - в PHP я не силен...
*

jurassik

  • Давно я тут
  • 688
  • 51 / 1
сделано все верно
сам шучу - сам смеюсь
*

grayn

  • Новичок
  • 8
  • 0 / 0
Как-то можно убрать дублирование полного текста, если текст не разделен на вводный+полный? Иначе получается Полный - картинка - полный
*

grayn

  • Новичок
  • 8
  • 0 / 0
В общем, отвечу сам:
Рассмотрел алгоритм вывода новости, оказывается если нет разделения на анонс и полный текст - весь текст считается INTRO. Если же есть разделение - то INTRO + FULL. При моем первом решении возникала проблема, либо выводится анонс + картинка + основной текст, если же не задан анонс, то выводился полный текст + картинка + полный текст. Пошаманив, можно было сделать отображение полного текста перед картинкой, но в таком случае картинка оказывалась в конце статьи.

Сделал по следующему алгоритму:
если есть анонс - то выводим анонс + картинка + основной текст
иначе - выводим картинку + основной текст

Код
            <?php if(!empty($this->item->fulltext)): ?>
            <?php if($this->item->params->get('itemIntroText')): ?>
           
            <!-- Item introtext -->
           
            <div class="itemIntroText"><b>
                  <?php echo $this->item->introtext; ?></b>
            </div>
            <?php endif; ?>

            <?php if($this->item->params->get('itemImage') && !empty($this->item->image)): ?>
           
            <!-- Item Image -->
           
            <div class="itemImageBlock">
                  <span class="itemImage">
                  <a class="modal" rel="{handler: 'image'}" href="<?php echo $this->item->imageXLarge; ?>" title="<?php echo JText::_('K2_CLICK_TO_PREVIEW_IMAGE'); ?>">
                        <img src="<?php echo $this->item->image; ?>" alt="<?php if(!empty($this->item->image_caption)) echo K2HelperUtilities::cleanHtml($this->item->image_caption); else echo K2HelperUtilities::cleanHtml($this->item->title); ?>" style="width:<?php echo $this->item->imageWidth; ?>px; height:auto;" />
 
                  </a>
                  </span>
                  <?php if($this->item->params->get('itemImageMainCaption') && !empty($this->item->image_caption)): ?>
                 
                  <!-- Image caption -->
                 
                  <span class="itemImageCaption"><?php echo $this->item->image_caption; ?></span>
                  <?php endif; ?>
                  <?php if($this->item->params->get('itemImageMainCredits') && !empty($this->item->image_credits)): ?>
                 
                  <!-- Image credits -->
                 
                  <span class="itemImageCredits"><?php echo $this->item->image_credits; ?></span>
                  <?php endif; ?>
                  <div class="clr"></div>
            </div>
            <?php endif; ?>


            <?php if($this->item->params->get('itemFullText')): ?>
           
            <!-- Item fulltext -->
           
            <div class="itemFullText">
                  <?php echo $this->item->fulltext; ?>
            </div>
            <?php endif; ?>


            <?php else: ?>
 

            <?php if($this->item->params->get('itemImage') && !empty($this->item->image)): ?>
           
            <!-- Item Image -->
           
            <div class="itemImageBlock">
                  <span class="itemImage">
                  <a class="modal" rel="{handler: 'image'}" href="<?php echo $this->item->imageXLarge; ?>" title="<?php echo JText::_('K2_CLICK_TO_PREVIEW_IMAGE'); ?>">
                        <img src="<?php echo $this->item->image; ?>" alt="<?php if(!empty($this->item->image_caption)) echo K2HelperUtilities::cleanHtml($this->item->image_caption); else echo K2HelperUtilities::cleanHtml($this->item->title); ?>" style="width:<?php echo $this->item->imageWidth; ?>px; height:auto;" />
 
                  </a>
                  </span>
                  <?php if($this->item->params->get('itemImageMainCaption') && !empty($this->item->image_caption)): ?>
                 
                  <!-- Image caption -->
                 
                  <span class="itemImageCaption"><?php echo $this->item->image_caption; ?></span>
                  <?php endif; ?>
                  <?php if($this->item->params->get('itemImageMainCredits') && !empty($this->item->image_credits)): ?>
                 
                  <!-- Image credits -->
                 
                  <span class="itemImageCredits"><?php echo $this->item->image_credits; ?></span>
                  <?php endif; ?>
                  <div class="clr"></div>
            </div>
            <?php endif; ?>
            <!-- Item text -->
           
            <div class="itemFullText">
                  <?php echo $this->item->introtext; ?>
            </div>
            <?php endif; ?>
            <div class="clr"></div>

Теперь все норм разделяется, основной текст статьи всегда ниже картинки. Учтите, что после подобной операции, будет невозможно обновить шаблон. Иначе вернется все как раньше.
Пример новости http://onkazan.ru/novosti-kazani/vlast/deputaty-priniali-reshenie-o-sozdanii-munitcipalnogo-dorozhnogo-fonda.html

*

grayn

  • Новичок
  • 8
  • 0 / 0
В моем случае файл лежит в каталоге /templates/template/html/com_k2/templates/default/item.php
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться