2015-11-06 2 views
2

На Joomla 3.4 сайт, статьи отображать раздел "детали", как это по умолчанию:Как изменить макет в статьях Joomla?

Подробности

Автор: John Doe

Опубликовано: 26 октября 2015

Какой файл изменить, (и, если возможно, как) получить следующий результат?

Джон Доу, 4 ноября 2015


Редактировать после @itoctopus ответа:

вам нужно будет изменить файл переопределения. Вы можете сделать это, изменив файл /templates/your-template/html/com_content/article/default.php

Ниже приводится содержание default.php.

Что необходимо изменить для достижения результата выше? Я ничего не вижу в этом файле, относящемся к разделу «подробности».

<?php 
/** 
* @package  Joomla.Site 
* @subpackage com_content 
* 
* @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved. 
* @license  GNU General Public License version 2 or later; see LICENSE.txt 
*/ 

defined('_JEXEC') or die; 

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers'); 

// Create shortcuts to some parameters. 
$params = $this->item->params; 
$images = json_decode($this->item->images); 
$urls = json_decode($this->item->urls); 
$canEdit = $params->get('access-edit'); 
$user = JFactory::getUser(); 
$info = $params->get('info_block_position', 0); 
JHtml::_('behavior.caption'); 
?> 
<div class="item-page<?php echo $this->pageclass_sfx; ?>" itemscope itemtype="http://schema.org/Article"> 
    <meta itemprop="inLanguage" content="<?php echo ($this->item->language === '*') ? JFactory::getConfig()->get('language') : $this->item->language; ?>" /> 
    <?php if ($this->params->get('show_page_heading')) : ?> 
    <div class="page-header"> 
     <h1> <?php echo $this->escape($this->params->get('page_heading')); ?> </h1> 
    </div> 
    <?php endif; 
    if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative) 
    { 
     echo $this->item->pagination; 
    } 
    ?> 

    <?php // Todo Not that elegant would be nice to group the params ?> 
    <?php $useDefList = ($params->get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date') 
    || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author')); ?> 

    <?php if (!$useDefList && $this->print) : ?> 
     <div id="pop-print" class="btn hidden-print"> 
      <?php echo JHtml::_('icon.print_screen', $this->item, $params); ?> 
     </div> 
     <div class="clearfix"> </div> 
    <?php endif; ?> 
    <?php if ($params->get('show_title') || $params->get('show_author')) : ?> 
    <div class="page-header"> 
     <h2 itemprop="name"> 
      <?php if ($params->get('show_title')) : ?> 
       <?php echo $this->escape($this->item->title); ?> 
      <?php endif; ?> 
     </h2> 
     <?php if ($this->item->state == 0) : ?> 
      <span class="label label-warning"><?php echo JText::_('JUNPUBLISHED'); ?></span> 
     <?php endif; ?> 
     <?php if (strtotime($this->item->publish_up) > strtotime(JFactory::getDate())) : ?> 
      <span class="label label-warning"><?php echo JText::_('JNOTPUBLISHEDYET'); ?></span> 
     <?php endif; ?> 
     <?php if ((strtotime($this->item->publish_down) < strtotime(JFactory::getDate())) && $this->item->publish_down != JFactory::getDbo()->getNullDate()) : ?> 
      <span class="label label-warning"><?php echo JText::_('JEXPIRED'); ?></span> 
     <?php endif; ?> 
    </div> 
    <?php endif; ?> 
    <?php if (!$this->print) : ?> 
     <?php if ($canEdit || $params->get('show_print_icon') || $params->get('show_email_icon')) : ?> 
      <?php echo JLayoutHelper::render('joomla.content.icons', array('params' => $params, 'item' => $this->item, 'print' => false)); ?> 
     <?php endif; ?> 
    <?php else : ?> 
     <?php if ($useDefList) : ?> 
      <div id="pop-print" class="btn hidden-print"> 
       <?php echo JHtml::_('icon.print_screen', $this->item, $params); ?> 
      </div> 
     <?php endif; ?> 
    <?php endif; ?> 

    <?php if ($useDefList && ($info == 0 || $info == 2)) : ?> 
     <?php echo JLayoutHelper::render('joomla.content.info_block.block', array('item' => $this->item, 'params' => $params, 'position' => 'above')); ?> 
    <?php endif; ?> 

    <?php if ($info == 0 && $params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> 
     <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?> 

     <?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?> 
    <?php endif; ?> 

    <?php if (!$params->get('show_intro')) : echo $this->item->event->afterDisplayTitle; endif; ?> 
    <?php echo $this->item->event->beforeDisplayContent; ?> 

    <?php if (isset($urls) && ((!empty($urls->urls_position) && ($urls->urls_position == '0')) || ($params->get('urls_position') == '0' && empty($urls->urls_position))) 
     || (empty($urls->urls_position) && (!$params->get('urls_position')))) : ?> 
    <?php echo $this->loadTemplate('links'); ?> 
    <?php endif; ?> 
    <?php if ($params->get('access-view')):?> 
    <?php if (isset($images->image_fulltext) && !empty($images->image_fulltext)) : ?> 
    <?php $imgfloat = (empty($images->float_fulltext)) ? $params->get('float_fulltext') : $images->float_fulltext; ?> 
    <div class="pull-<?php echo htmlspecialchars($imgfloat); ?> item-image"> <img 
    <?php if ($images->image_fulltext_caption): 
     echo 'class="caption"' . ' title="' . htmlspecialchars($images->image_fulltext_caption) . '"'; 
    endif; ?> 
    src="<?php echo htmlspecialchars($images->image_fulltext); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt); ?>" itemprop="image"/> </div> 
    <?php endif; ?> 
    <?php 
    if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && !$this->item->paginationrelative): 
     echo $this->item->pagination; 
    endif; 
    ?> 
    <?php if (isset ($this->item->toc)) : 
     echo $this->item->toc; 
    endif; ?> 
    <div itemprop="articleBody"> 
     <?php echo $this->item->text; ?> 
    </div> 

    <?php if ($useDefList && ($info == 1 || $info == 2)) : ?> 
     <?php echo JLayoutHelper::render('joomla.content.info_block.block', array('item' => $this->item, 'params' => $params, 'position' => 'below')); ?> 
     <?php if ($params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> 
      <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?> 
      <?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?> 
     <?php endif; ?> 
    <?php endif; ?> 

    <?php 
    if (!empty($this->item->pagination) && $this->item->pagination && $this->item->paginationposition && !$this->item->paginationrelative): 
     echo $this->item->pagination; 
    ?> 
    <?php endif; ?> 
    <?php if (isset($urls) && ((!empty($urls->urls_position) && ($urls->urls_position == '1')) || ($params->get('urls_position') == '1'))) : ?> 
    <?php echo $this->loadTemplate('links'); ?> 
    <?php endif; ?> 
    <?php // Optional teaser intro text for guests ?> 
    <?php elseif ($params->get('show_noauth') == true && $user->get('guest')) : ?> 
    <?php echo $this->item->introtext; ?> 
    <?php // Optional link to let them register to see the whole article. ?> 
    <?php if ($params->get('show_readmore') && $this->item->fulltext != null) : ?> 
    <?php $menu = JFactory::getApplication()->getMenu(); ?> 
    <?php $active = $menu->getActive(); ?> 
    <?php $itemId = $active->id; ?> 
    <?php $link = new JUri(JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false)); ?> 
    <?php $link->setVar('return', base64_encode(JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language), false))); ?> 
    <p class="readmore"> 
     <a href="<?php echo $link; ?>" class="register"> 
     <?php $attribs = json_decode($this->item->attribs); ?> 
     <?php 
     if ($attribs->alternative_readmore == null) : 
      echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE'); 
     elseif ($readmore = $this->item->alternative_readmore) : 
      echo $readmore; 
      if ($params->get('show_readmore_title', 0) != 0) : 
       echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); 
      endif; 
     elseif ($params->get('show_readmore_title', 0) == 0) : 
      echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE'); 
     else : 
      echo JText::_('COM_CONTENT_READ_MORE'); 
      echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); 
     endif; ?> 
     </a> 
    </p> 
    <?php endif; ?> 
    <?php endif; ?> 
    <?php 
    if (!empty($this->item->pagination) && $this->item->pagination && $this->item->paginationposition && $this->item->paginationrelative) : 
     echo $this->item->pagination; 
    ?> 
    <?php endif; ?> 
    <?php echo $this->item->event->afterDisplayContent; ?> 
</div> 
+0

Почему бы не просто выбрать опцию, чтобы скрыть детали? Это доступно, когда вы создаете статьи, но обычно я меняю его по всему миру, чтобы скрыть все. (Выберите опцию в менеджере статей). – Elin

+0

@Elin Тогда как бы вы показали «Джоном Доу, 4 ноября 2015 года»? Цель состоит не в том, чтобы полностью удалить данные, а настроить его ... –

+0

Я бы поставил автора на показ, опубликованную дату, чтобы показать, все остальное, чтобы скрыть. – Elin

ответ

1

Использование CSS и Отработанные языковые переопределения.

CSS: display: none, чтобы избавиться от нежелательных материалов и отображения: встроенный блок, чтобы поместить все в одну строку.

Изменение слов в Joomla 3.4 бэкенд:

  • с панели управления, нажмите на Языки в меню боковой панели
  • Нажмите «переопределение»
  • Выберите язык «фильтр»
  • Нажмите «новый»
  • в поле формы рядом с кнопкой «поиск», введите текст, который хотите изменить.
  • выберите правую строковую переменную
  • Введите нужный текст
  • Сэкономьте

сделано.

1

Вы можете сделать это CSS, но иногда это немного сложно, поэтому вам нужно будет изменить файл переопределения. Вы можете сделать это, изменив файл /templates/your-template/html/com_content/article/default.php

Если вы не можете найти этот файл (или ту структуру каталогов), то вам нужно будет скопировать этот файл components/com_content/views/article/tmpl/default.php в /templates/your-template/html/com_content/article/default.php (если есть каталог, который не существует, тогда вам нужно будет создать его. Например, если вы можете найти только под вашей папкой templates, вам нужно будет создать папку com_content под папкой html, а затем папку article под папкой com_content).

Затем вы можете изменить файл default.php, чтобы изменить макет. Убедитесь, что вы очистили свой кэш Joomla, чтобы увидеть ваши изменения.

+0

Отлично, это ясно о «Где» ... Я не читаю PHP, но я не могу определить ни слова «детали» или «написанные» ... Кажется, он скрыт в переменных. Спасибо, что помогли расшифровать это. –

Смежные вопросы