Перейти к содержимому


Фотография
- - - - -

Условие публикации на странице тегов

tag

Лучший Ответ Cheren-dow , 12 July 2016 - 15:38

IgorS, тип получить можно через 

  1. $item->type; // это тип материала а не шаблона 

А узнать что это full можно через 

  1. $task = $this->app->jbrequest->get('task');
  2. if ($task == 'item') { // проверка на фулл
  3.  
  4. }

на странице категории task должен быть равен category - так вы можете узнать что это тизер.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 7

#1 IgorS

IgorS

Отправлено 04 July 2016 - 12:28

Здравствуйте!

 

В файле media/zoo/elements/link/tmpl/link.php произвожу проверку на вывод элемента в Категории или на странице Full (в карточке товара):

  1. <?php
  2. /**
  3. * @package com_zoo
  4. * @author YOOtheme http://www.yootheme.com
  5. * @copyright Copyright (C) YOOtheme GmbH
  6. * @license http://www.gnu.org/licenses/gpl.html GNU/GPL
  7. */
  8.  
  9. // no direct access
  10. defined('_JEXEC') or die('Restricted access');
  11.  
  12. // init lightbox
  13. if (!empty($rel)) {
  14. $rel = 'data-lightbox="' . $rel .'"';
  15.  
  16. $this->app->document->addScript('assets:js/lightbox.js');
  17. $this->app->document->addStylesheet('assets:css/lightbox.css');
  18. $this->app->document->addScriptDeclaration("jQuery(function($) { $('[data-lightbox]').lightbox(); });");
  19. }
  20.  
  21. $category_id = JRequest::getInt('category_id');
  22. //Вывод на страницах категорий
  23. if ($category_id != '0'){
  24. echo '<a href="'.JRoute::_($this->get('value', '')).'" title="'.$this->getTitle().'" '.$target.' '. $rel .'><i class="uk-icon-file-pdf-o"></i></a>';
  25. } else {
  26. // вывод в карточке товара
  27. echo '<a href="'.JRoute::_($this->get('value', '')).'" title="'.$this->getTitle().'" '.$target.' '. $rel .'><i class="uk-icon-download"></i>'.$this->getText().'</a>';
  28. }

 Подскажите, пожалуйста, как в этот код добавить еще и проверку на вывод элемента Link на страницах тегов ("Материалы с меткой:")?

 

А лучше: как проверить тип материала (teaser, related, full)?

 

Спасибо!


Сообщение отредактировал IgorS: 04 July 2016 - 12:59

  • 0

KidRepublic.ru - интернет-магазин детских товаров


#2 IgorS

IgorS

Отправлено 04 July 2016 - 14:34

Есть ли у кого-нибудь вариант решения задачи? Может, администраторы помогут?

Спасибо!


  • 0

KidRepublic.ru - интернет-магазин детских товаров


#3 IgorS

IgorS

Отправлено 05 July 2016 - 10:28

Up


  • 0

KidRepublic.ru - интернет-магазин детских товаров


#4 MOKEV

MOKEV

Отправлено 05 July 2016 - 11:39

Честно говоря не очень понятно, зачем вам проверять на вид шаблона. Разместите свой элемент в нужном шаблоне.

А если нужно условие на тип материала, то вот:

  1. if (
  2. $item->type == 'название'
  3. ){
  4. ...;
  5. }
  6.  

  • 0

#5 IgorS

IgorS

Отправлено 05 July 2016 - 12:06

Evgeny_M сказал(а) 05 Июл 2016 - 10:39:

 

Честно говоря не очень понятно, зачем вам проверять на вид шаблона. Разместите свой элемент в нужном шаблоне.

А если нужно условие на тип материала, то вот:

  1. if (
  2. $item->type == 'название'
  3. ){
  4. ...;
  5. }
  6.  

 

Evgeny_M, спасибо.

Попробую разместить в шаблоне.

 

А как получить (вызвать?) это свойство - тип материала - именно в элементе link?

Например, id категории получаю так: 

  1. $category_id = JRequest::getInt('category_id');

Сообщение отредактировал IgorS: 05 July 2016 - 12:07

  • 0

KidRepublic.ru - интернет-магазин детских товаров


#6 Cheren-dow

Cheren-dow

Отправлено 12 July 2016 - 14:16

IgorS, вы можете получить из реквеста только таск - это тизер или фулл с помощью:

  1. $this->app->jbrequest->get('task'); 

для фулл это должно быть item а для категории, т.е списка или пустота или category. 


  • 1
Изображение
 

#7 IgorS

IgorS

Отправлено 12 July 2016 - 14:36

Cheren-dow, т.е. синтаксис/код должен выглядеть примерно так:

  1. $item = $this->app->jbrequest->get('item');
  2.  
  3. if ($item->type == 'teaser') {
  4. echo ...;
  5. }
  6.  
  7. else {...;}

Правильно?

 

(уже неделю зарекаюсь изучить работу с хелперами. ну, и php заняться вплотную :)  но ведь эти клиенты... (sweat)  чтоб им хорошо жилось!  :) )


Сообщение отредактировал IgorS: 12 July 2016 - 15:16

  • 0

KidRepublic.ru - интернет-магазин детских товаров


#8 Cheren-dow

Cheren-dow

Отправлено 12 July 2016 - 15:38   Лучший Ответ

IgorS, тип получить можно через 

  1. $item->type; // это тип материала а не шаблона 

А узнать что это full можно через 

  1. $task = $this->app->jbrequest->get('task');
  2. if ($task == 'item') { // проверка на фулл
  3.  
  4. }

на странице категории task должен быть равен category - так вы можете узнать что это тизер.


  • 2
Изображение
 





Темы с аналогичным тегами tag

Click to return to top of page in style!