Как добавить позицию в шаблоне с T3 Framework?

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

Apollon

  • Давно я тут
  • ****
  • 263
  • 0
Как добавить позицию в шаблоне http://www.joomlart.com/demo/#ja_teline_v

По стандартному способу, не получается. В файле index.php нет блоков div и ничего подобного <div><jdoc:include type="modules".

Код
<?php
/**
 *------------------------------------------------------------------------------
 * @package       T3 Framework for Joomla!
 *------------------------------------------------------------------------------
 * @copyright     Copyright (C) 2004-2013 JoomlArt.com. All Rights Reserved.
 * @license       GNU General Public License version 2 or later; see LICENSE.txt
 * @authors       JoomlArt, JoomlaBamboo, (contribute to this project at github
 *                & Google group to become co-author)
 * @Google group: https://groups.google.com/forum/#!forum/t3fw
 * @Link:         http://t3-framework.org
 *------------------------------------------------------------------------------
 */
 
// no direct access
defined('_JEXEC') or die;

//check if t3 plugin is existed
if (!defined('T3')) {
if (JError::$legacy) {
JError::setErrorHandling(E_ERROR, 'die');
JError::raiseError(500, JText::_('T3_MISSING_T3_PLUGIN'));
exit;
} else {
throw new Exception(JText::_('T3_MISSING_T3_PLUGIN'), 500);
}
}

$t3app = T3::getApp($this);

// get configured layout
$layout = $t3app->getLayout();

$t3app->loadLayout($layout);
Нужно добавить позицию как news-sport



На место между позициями

« Последнее редактирование: 17.01.2016, 20:54:20 от Apollon »

*

JaneFaint

  • Осваиваюсь на форуме
  • ***
  • 121
  • 3
Судя по всему шаблон построен на t3 framework. На сколько помню там можно добавить позицию прямо в менеджере шаблонов в админке.

*

effrit

  • Группа развития
  • *****
  • 7443
  • 815
  • effrit.com
ну любой подобный шаблон использует стандартный синтаксис Joomla, просто он по файлам раскидывает фрагменты кода.
конкретно в t3 это \tpls\blocks\
можно просто найти нужный блок и там прописать позицию

*

Apollon

  • Давно я тут
  • ****
  • 263
  • 0
Судя по всему шаблон построен на t3 framework. На сколько помню там можно добавить позицию прямо в менеджере шаблонов в админке.

Да, все верно. Если можно, по подробней где именно и что делать). Раз попробовал, если про то думаю, в менеджере позицию сделал, другие посъезжали, а на сайте новая не отобразилась.

*

Apollon

  • Давно я тут
  • ****
  • 263
  • 0
ну любой подобный шаблон использует стандартный синтаксис Joomla, просто он по файлам раскидывает фрагменты кода.
конкретно в t3 это \tpls\blocks\
можно просто найти нужный блок и там прописать позицию

Это уже понял, нашел хелп http://t3-framework.ru/documentation/customization.html, нашел нужный блок

Цитировать
<?php
/**
 * @package   T3 Blank
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license   GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$sidebar = 'sidebar';
$hasSidebar = $this->countModules ($sidebar);
$mainwidth = $hasSidebar ? ' col-md-9' : '';
?>

<div class="main">

   <?php if ($this->countModules('home-1')) : ?>
      <div class="wrap <?php $this->_c('home-1')?>">
         <div class="container">
            <jdoc:include type="modules" name="<?php $this->_p('home-1')?>" style="raw" />
         </div>
      </div>
   <?php endif ?>

  <div id="t3-mainbody" class="container t3-mainbody mainbody-magazine">

       <div class="row equal-height">

         <!-- MAIN CONTENT -->
         <div id="t3-content" class="col t3-content<?php echo $mainwidth ?>">
            <?php if($this->hasMessage()) : ?>
            <jdoc:include type="message" />
            <?php endif ?>
            <jdoc:include type="component" />

            <!--<jdoc:include type="modules" name="<?php $this->_p('news-kino')?>" />-->
            <!-- <jdoc:include type="modules" name="<?php $this->_p(-)?>" style="T3Xhtml" /> -->
            
         </div>
         <!-- //MAIN CONTENT -->

         <?php if ($hasSidebar) : ?>
         <!-- SIDEBAR RIGHT -->
         <div class="col t3-sidebar t3-sidebar-right col-md-3 <?php $this->_c($sidebar)?>">
            <jdoc:include type="modules" name="<?php $this->_p($sidebar)?>" style="T3Xhtml" />
            <jdoc:include type="modules" name="<?php $this->_p('news-kino')?>" />
         </div>
         <!-- //SIDEBAR RIGHT -->
         <?php endif ?>

         </div>

  </div>

   <?php if ($this->countModules('home-2')) : ?>
   <div class="wrap <?php $this->_c('home-2')?>">
      <div class="container">
         <jdoc:include type="modules" name="<?php $this->_p('home-2')?>" style="raw" />
      </div>
   </div>
   <?php endif ?>


</div>

Куда только не вставлял, потом сайт не грузится, может пишу что не так. И сайт новую позицию не видит, хотя в файле details прописал. Покажите куда именно и что прописать). Позиция допустим "news-kino".

*

effrit

  • Группа развития
  • *****
  • 7443
  • 815
  • effrit.com
вставлять надо туда, где нет php кода.
т.е. по соседству с  <div>   или  </div>

Код
<jdoc:include type="modules" name="my_news" style="none" />

в админке, при публикации модуля просто вбиваем в поле с позицией my_news и жмем ввод. не обязательно в XML добавлять её

*

Apollon

  • Давно я тут
  • ****
  • 263
  • 0
вставлять надо туда, где нет php кода.
т.е. по соседству с  <div>   или  </div>

Вставил в блок, позиция появилась, все отображается, но, нужно несколько позиций, а блок один и они встают одна под другой, все на страницах всех категорий, а нужно чтобы в разных категориях была каждая своя позиция, но если блок один для всех, как их раскидать по нужным?

в админке, при публикации модуля просто вбиваем в поле с позицией my_news и жмем ввод. не обязательно в XML добавлять её

то есть Joomla на автомате его пропишет?

*

effrit

  • Группа развития
  • *****
  • 7443
  • 815
  • effrit.com
ну позиций можно несколько создать, просто поместив данный код в другое место шаблона и поменяв имя "my_news" на другое.
если нужно в отдельной категории выводить свои модули, то нужно создать пункт меню для этой категории и к нему привязывать дургие модули просто.
т.е. позиция - одна, но в нее выводятся разные модули, в зависимости от текущего пункта меню. это уже в настройках модулей надо выставлять.

*

Apollon

  • Давно я тут
  • ****
  • 263
  • 0
ну позиций можно несколько создать, просто поместив данный код в другое место шаблона и поменяв имя "my_news" на другое.
если нужно в отдельной категории выводить свои модули, то нужно создать пункт меню для этой категории и к нему привязывать дургие модули просто.
т.е. позиция - одна, но в нее выводятся разные модули, в зависимости от текущего пункта меню. это уже в настройках модулей надо выставлять.

Ну то что несколько позиций можно сделать это понятно).
Созданы разные меню к ним привязаны разные категории (Меню кино - категория кино, модуль - новости кино), модули (в модулях указаны уникальные позиции). Но, выводя материал позиции допустим news-kino он выводится во всех меню, хотя эта позиция указана только в одном модуле.

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

Все это делаю в файле mainbody-full.php, может поэтому во всех меню показывается?
Кстати, как точно определить нужный блок?
« Последнее редактирование: 17.01.2016, 19:47:45 от Apollon »