2017-09-16 13 views
0

に私は3.7にアップグレードする前に働いていたが、次のコード行作品「JHTML ::スクリプト( 『com_members/site.js』、真の配列を()、);」もはやsite.jsJHTML ::スクリプトはもはやjoomlaの3.7

class MembersViewMembersELso extends JViewLegacy 
{ 
     // Overwriting JView display method 
     function display($tpl = null) 
     { 
       // Get data from the model 
       $state = $this->get('State'); 
       $items = $this->get('Items'); 
       $pagination = $this->get('Pagination'); 
       // Check for errors. 
       if (count($errors = $this->get('Errors'))) 
       { 
         JError::raiseError(500, implode('<br />', $errors)); 
         return false; 
       } 
       // Assign data to the view 
       $this->state = $state; 
       $this->items = $items; 
       $this->pagination = $pagination; 
       // get the stylesheet (with automatic lookup, possible template overrides, etc.) 
       JHtml::stylesheet('com_members/site.stylesheet.css', array(), true); 
       // insert js code for onsubmit 
       JHtml::script('com_members/site.js', array(), true); 
       // Display the view 
       parent::display($tpl); 
     } 
} 

答えて

0

JHtml::ScriptJHtml::Stylesheetあなただけの1のJavaScript/CSSファイルを含めたい場合に使用する理想的な方法ではないがロードされません。これらのメソッドには多くの不必要なオーバーヘッドがあり、どちらも非常に複雑なincludeRelativeFilesメソッドを使用しています(libraries/cms/html/html.phpの3つのメソッドすべてが見つかります)。

ファイルをインクルードするためのクリーンでシンプルな方法は、直接、次の操作を実行することであることです(あなたは上記のコードでJHtml::ScriptJHtml::Stylesheetを削除するには、当然のことながら、必要になります):

$objDocument = JFactory::getDocument(); 
$objDocument->addStyleSheet(JUri::base() .'com_members/site.stylesheet.css'); 
$objDocument->addScript(JUri::base() .'com_members/site.js'); 
+0

ありがとう。私はあなたの提案を使用しますが、あなたはなぜJHtml :: Scriptステートメントが突然Joomla 3.7で失敗するのか考えていますか? –

関連する問題