2

joomla用のYouTubeプレイリストモジュールを作成中です。

モジュールをページに割り当てると、次の時点で読み込みが停止します。

<div class="youtubeplayer">
    <div class="yt_holder">
            <!--Up and Down arrow -->
            <div class="you_up"><img src="modules/mod_youtube_playlist/css/up_arrow.png" alt="+ Slide" title="HIDE" /></div>
            <div class="you_down"><img src="modules/mod_youtube_playlist/css/down_arrow.png" alt="- Slide" title="SHOW" /></div>
            <!-- END  -->
        <div id="ytvideo3"></div>
            <div class="youplayer">
            <ul class="videoyou">

次のコードで 'include once' を使用する場所で停止しているようです (以下のコードは私のモジュールの "tmpl/default.php" ファイルです) - 何かアイデアはありますか?

<?php

defined('_JEXEC') or die;

JHtml::_('behavior.framework');

JHtml::script('modules/mod_youtube_playlist/js/jquery.youtubeplaylist.js');
JHtml::script('modules/mod_youtube_playlist/js/jquery.jquery.youtubeplaylist-min.js.js');
JHtml::script('modules/mod_youtube_playlist/js/youtubeplaylist.js');
JHtml::stylesheet('modules/mod_youtube_playlist/css/youtubeplaylist.css');
JHtml::stylesheet('modules/mod_youtube_playlist/css/indext.css');
?>

<div class="youtubeplayer">
    <div class="yt_holder">
            <!--Up and Down arrow -->
            <div class="you_up"><img src="modules/mod_youtube_playlist/css/up_arrow.png" alt="+ Slide" title="HIDE" /></div>
            <div class="you_down"><img src="modules/mod_youtube_playlist/css/down_arrow.png" alt="- Slide" title="SHOW" /></div>
            <!-- END  -->
        <div id="ytvideo3"></div>
            <div class="youplayer">
            <ul class="videoyou">
            <?php
            // Use like this.
            include_once('/modules/mod_youtube_playlist/class/class.youtubelist.php');
            //in this example a playlist
            $video = new youtubelist('playlist');
            //This is the link to the playlist.
            //http://www.youtube.com/playlist?list=PLC4FBCA46405A8BF8
            //REMOVE the PL from the string if there is an PL after list=
            $video->set_playlist('<?php echo $playlist; ?>');
            $video->set_max(50);
            $video->set_order('title');
            $video->set_cachexml(false);
            $video->set_cachelife(86400);
            $video->set_xmlpath('./cache/');
            $video->set_start(1);

            if ( $video->get_videos() !=null ) {
                foreach ($video->get_videos() as $yKey => $yValue) {
                    echo '<li><p>' . $yValue['title'] . '</p><span class="time">' . $yValue['time'] . '</span><a class="videoThumb3" href="http://www.youtube.com/watch?v=' . $yValue['videoid'] . '">' . $yValue['description'] . '</a></li>';
                }
            }else{
                echo '<li>Sorry, no video\'s found</li>';
            }
            ?>
            </ul>
        </div>
    </div>
</div>
4

2 に答える 2

1

そのパス/modules/mod_youtube_playlist/....を使用すると、サイトのルートではなく、サーバーのルートが検索されます。

インクルードが見つからないため、致命的なエラーが発生していると思われます。

JPATH_BASEサイトルートへのパスである定数を使用できます。

include_once(JPATH_BASE . '/modules/mod_youtube_playlist/class/class.youtubelist.php');

今後のデバッグのために、エラーをオンにする(またはエラーログを調べる)必要があります。ここでSOに投稿する場合は、常に完全なエラーメッセージを含めてください。

于 2012-06-11T12:28:22.987 に答える
0

これを使用するのではなく:

JHtml::script('modules/mod_youtube_playlist/js/jquery.youtubeplaylist.js');
JHtml::stylesheet('modules/mod_youtube_playlist/css/indext.css');

これを試して:

$document =& JFactory::getDocument();
$document->addStyleSheet(JURI::root() . "modules/mod_youtube_playlist/css/indext.css");
$document->addScript(JURI::root() . "modules/mod_youtube_playlist/js/jquery.youtubeplaylist.js");

含める場合は、BASE の代わりに ROOT を使用することもお勧めします。

于 2012-06-11T16:54:35.667 に答える