2013-06-17 5 views
0

Проблема, с которой я сталкиваюсь, заключается в том, что создание нового компонента я не могу заставить joomla читать файл макета по умолчанию. Это происходит как на стороне администратора, так и на стороне сайта. Сравнивая его с другим компонентом, который я создал, я не вижу никакой логической причины для него, поскольку оба компонента работают в одной среде.Joomla! 2.5 Не читать макет по умолчанию

Я знаю, что, так как сайт и админ используют те же методы, исправление его в одном должно исправить его в другом. Итак, вот часть сайта.

сначала view.html.php

<?php 
// No direct access to this file 
defined('_JEXEC') or die('Restricted access'); 

// import Joomla view library 
jimport('joomla.application.component.view'); 

class ComponentViewComponent extends JView{ 
    function display($tpl = null){ 
     parent::display($tpl); 
    } 
} 


?> 

Тогда TMPL/default.php

<?php 
// No direct access to this file 
defined('_JEXEC') or die('Restricted Access'); 


// load tooltip behavior 
JHtml::_('behavior.tooltip'); 


?> 
hello 

Как вы можете видеть, что это скелетным еще, но когда-либо я пытаюсь получить доступ к нему на на сайте или admin он скажет: «500: по умолчанию не установлено».

Я провел больше часа, пытаясь выяснить, где я ошибся, что могло вызвать это.

Хотя я сомневаюсь, что это будет иметь значение здесь модель/контроллер/конструктору

component.php (называется по-разному, то фактический компонент)

<?php 
//No direct access to this file 
defined('_JEXEC') or die ('Restricted access'); 

// import joomla controller library 
jimport('joomla.application.component.controller'); 

// Get an instance of the controller prefixed by GoTireReviews 
$controller = JController::getInstance('Component'); 

// Perform the Request task 
$input = JFactory::getApplication()->input; 
$controller->execute($input->getCmd('task')); 

// Redirect if set by the controller 
$controller->redirect(); 

?> 

модели/component.php

<?php 
// No direct access to this file 
defined('_JEXEC') or die('Restricted access'); 

// import Joomla modelitem library 
jimport('joomla.application.component.modelitem'); 

class ComponentModelComponent extends JModelItem{ 

} 


?> 

controller.php

<?php 
// No direct access to this file 
defined('_JEXEC') or die('Restricted access'); 

// import Joomla controller library 
jimport('joomla.application.component.controller'); 

class ComponentController extends JController{ 

} 


?> 

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

Также обратите внимание на то, что компонент не назван «компонентом», но я использовал его, чтобы сделать этот пример более удобочитаемым.

EDIT:

Узнал причину, это потому, что я использовал обзор слово в названии компонента. Выполнение этих трюков методов просмотра joomla и вызывает ошибку. (Я сменил название компонента с целью этого, не думая, что это может привести к этому)

ответ

1

В Joomla 2.5 он называет свои экземпляры MVC с помощью префикса, затем метод затем имя.

Как так:

ComponentViewComponent или ComponentViewDefault

Чтобы сделать это выглядит для представления слова в строке имени класса. Так что если вы называете это как так вы будете вызывать ошибку:

ComponentReviewViewComponentReview

В этом случае вы могли бы чувствовать себя называть его обзор не вызовет никакого вреда, однако она содержит вид изнутри. Ошибка Joomla дает не означает, что вы тоже в правильном направлении.

Смежные вопросы