Включить плагин только на главной странице

Тема в разделе "Внешний вид, шаблоны, графика", создана пользователем Trust, 24.08.2009.

  1. Offline

    Trust Недавно здесь

    Регистрация:
    02.12.2007
    Сообщения:
    55
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте. Я использую плагин autoreadmore для обрезания интротекста.
    У меня на сайте предусмотрено обрезать текст только на главной. Этот плагин меня полностью удовлетворяет, если бы не одно но.
    У него нет функции обрезать ТОЛЬКО на главной. Я очень прошу, помогите пожалуйста дополнить код плагина таким образом, чтобы он мог обрезать интро только на главной.

    Вот код:
    Код (PHP):
    1. <?php
    2.  
    3. // Do the usual dance
    4. defined( '_JEXEC' ) or die( 'Restricted access' );
    5. jimport( 'joomla.plugin.plugin' );
    6.  
    7. class plgContentAutoReadMore extends JPlugin {
    8.  
    9.  function plgContentAutoReadMore(&$subject, $params) { parent::__construct($subject, $params); }
    10.  
    11.  function onPrepareContent( &$article, &$params ) {
    12.   // Be sure that we're using the com_content module, and that we're on the frontpage, or category blog, or section blog.
    13.   if(JRequest :: getCmd('option') != 'com_content') return;
    14.   $view=JRequest :: getCmd('view'); $layout=JRequest :: getCmd('layout');
    15.   if(! (($view=='frontpage') || (($view=='category') && ($layout=='blog')) || (($view=='section') && ($layout=='blog'))) ) return;
    16.   // Be sure that this section/category/article is not one that the user wanted to exclude.
    17.   if ($this->param('Enabled_Front_Page') == 0 and $view=='frontpage') return;
    18.   if (in_array($article->sectionid, explode(',', $this->param('Exclude_Section_Ids')))) return;
    19.   if (in_array($article->catid, explode(',', $this->param('Exclude_Category_Ids')))) return;
    20.   if (in_array($article->id, explode(',', $this->param('Exclude_Article_Ids')))) return;
    21.   // How many characters are we allowed?
    22.   $max_chars = $this->param('Max_Chars');
    23.   if (!is_numeric($max_chars)) $max_chars = 500;
    24.   if (strlen(strip_tags($article->text)) > $max_chars) {
    25.    // First, remove all new lines
    26.    $article->text = preg_replace("/\r\n|\r|\n/", "", $article->text);
    27.    // Next, replace <br /> tags with \n
    28.    $article->text = preg_replace("/<BR[^>]*>/i", "\n", $article->text);
    29.    // Replace <p> tags with \n\n
    30.    $article->text = preg_replace("/<P[^>]*>/i", "\n\n", $article->text);
    31.    // Truncate
    32.    $article->text = substr($article->text, 0, $max_chars);
    33.    // Pop off the last word in case it got cut in the middle
    34.    $article->text = preg_replace("/[.,!?:;]? [^ ]*$/", "", $article->text);
    35.    // Add a few new lines to the end of the article, and ...
    36.    $article->text = trim($article->text) . "...\n\n";
    37.    // Replace \n with <br />
    38.    $article->text = str_replace("\n", "<br />", $article->text);
    39.    // Add a "read more" link
    40.    $article->readmore = true;
    41.    }
    42.   }
    43.  
    44.  function param($name) {
    45.   static $plugin, $pluginParams;
    46.   if (!isset($plugin)) {
    47.    $plugin =& JPluginHelper::getPlugin('content', 'AutoReadMore');
    48.  
    49.    $pluginParams = new JParameter( $plugin->params );
    50.    }
    51.   return $pluginParams->get($name);
    52.   }
    53.  
    54.  }
     
    Последнее редактирование: 24.08.2009
  2.  
  3. Offline

    Trust Недавно здесь

    Регистрация:
    02.12.2007
    Сообщения:
    55
    Симпатии:
    0
    Пол:
    Мужской
    Ладно. Я уже сам себе помог:) Решение: заменить 15 строку на if(! (($view=='frontpage'))) return;
     
  4. Tureckiy
    Offline

    Tureckiy специалист

    Регистрация:
    11.04.2009
    Сообщения:
    423
    Симпатии:
    30
    Пол:
    Мужской
    Ну да, это в принципе типовая проверка!
     
  5. Offline

    feniks81 Недавно здесь

    Регистрация:
    25.03.2008
    Сообщения:
    15
    Симпатии:
    0
    Пол:
    Мужской
    У меня тоже просьба, использую плагин который к каждой статье справа от заголовка ставит фото с сылкой на автора комментария. появилась необходимость использовать компонент блога, и так вот этот плагин присутствует в записях блога. я хочу это отключить. поскольку записи будут нумероваться по мере добавления, ссылок будет много и все их в условия не включить.. можно ли что то использовать как константу вроде у вас frontoage. не знаю что у меня должно быть. спасибо!
     

Поделиться этой страницей

Загрузка...