【问题标题】:Add CSS in this Joomla plugin code在此 Joomla 插件代码中添加 CSS
【发布时间】:2011-10-16 02:35:08
【问题描述】:

我为 Joomla 创建了一个插件。我有 2 个名称为 finarchivo.xlm 和 finarchivo.php 的文件。我想添加 CSS 文件。怎么样?

这是 PHP 代码:

<?php 
// No direct access allowed to this file
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );

class plgContentFinArchivo extends JPlugin {     
    function plgContentFinArchivo( &$subject ) {
        parent::__construct( $subject );
    }

    function onBeforeDisplayContent(&$article, &$params, $limitstart=0)
    {
        $plugin =& JPluginHelper::getPlugin('content', 'FinArchivo');
        $pluginParams = new JParameter( $plugin->params );
        $mensaje = "";

        $mensaje = $pluginParams->get('mensaje', 'Concurso acabado');

        $salidaPantalla = $mensaje ;
        if($article->state==-1)
            return $salidaPantalla;
    }
}
?>

【问题讨论】:

    标签: css plugins joomla


    【解决方案1】:

    查看JDocument/addStyleDeclarationJDocument/addStyleSheet

    JDocument/addStyleDeclaration:

    $doc =& JFactory::getDocument();
    $style = '#myid {'
        . 'background-color: #cccccc;'
        . '}'; 
    $doc->addStyleDeclaration( $style );
    

    JDocument/addStyleSheet:

    $doc =& JFactory::getDocument();
    $doc->addStyleSheet( 'http://www.mydomain.com/css/mystylesheet.css' );
    

    尝试将代码放在onBeforeDisplayContent 函数中,例如:

    function onBeforeDisplayContent(&$article, &$params, $limitstart=0)
    {
        $doc =& JFactory::getDocument();
        $style = '#myid {'
            . 'background-color: #cccccc;'
            . '}'; 
        $doc->addStyleDeclaration( $style );
    
        $plugin =& JPluginHelper::getPlugin('content', 'FinArchivo');
        $pluginParams = new JParameter( $plugin->params );
        $mensaje = "";
    
        $mensaje = $pluginParams->get('mensaje', 'Concurso acabado');
    
        $salidaPantalla = $mensaje ;
        if($article->state==-1)
            return $salidaPantalla;
    }
    

    function onBeforeDisplayContent(&$article, &$params, $limitstart=0)
    {
        $doc =& JFactory::getDocument();
        $doc->addStyleSheet( 'http://www.mydomain.com/css/mystylesheet.css' );
    
        $plugin =& JPluginHelper::getPlugin('content', 'FinArchivo');
        $pluginParams = new JParameter( $plugin->params );
        $mensaje = "";
    
        $mensaje = $pluginParams->get('mensaje', 'Concurso acabado');
    
        $salidaPantalla = $mensaje ;
        if($article->state==-1)
            return $salidaPantalla;
    }
    

    【讨论】:

    • 不。我不明白将代码放在 onBeforeDisplayContent 函数中...
    • 您使用的是什么版本的 Joomla?你遇到了什么错误?插件执行时会发生什么?
    • 你确定插件正在执行吗?
    • 是的。出现消息'Concurso acabado
    • 您是否尝试过使用addStyleSheetaddStyleDeclaration
    猜你喜欢
    • 2011-10-15
    • 1970-01-01
    • 2012-01-01
    • 2012-05-08
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    相关资源
    最近更新 更多