Опечатки в коде MVC для Joomla 1.5

Вы пишете компоненты или плагины для Joomla? Этот пост для вас. Поймали ошибку, описанную здесь? Добро пожаловаться!

Летят самолеты - салют!

При разработке очередного компонента под Joomla 1.5 столкнулся с такой ошибкой:

Warn­ing: Miss­ing argu­ment 2 for JTable::__construct(), called in /var/www/site/httpdocs/libraries/joomla/database/table.php on line 115 and defined in /var/www/site/httpdocs/libraries/joomla/database/table.php on line 65

А также

Miss­ing argu­ment 3 for JTable
и
Unde­fined vari­able: key in /var/www/site/httpdocs/libraries/joomla/database/table.php on line 68

Как выяснилось, ошибки возникали из-за невнимательности при написании файла — описателя таблиц.
Обратите внимание в таких файлах (пример “/mycomponent/tables/mytable.php”) Имя  конструктора должно совпадать с именем класса:

class TableMytable extends JTable
{
    var $id = null;
    var $myvar = "";
 
    function TableMytable(& $db) {
       parent::__construct('#__mytable', 'id', $db);
    }
}

Вот здесь обратите внимание на “Table­Mytable”: и в случае имени класса, и в случае имени конструктора должно использоваться одно и то же имя. Ну и разумеется, имя таблицы должно быть соответствующим: “#__mytable

Разумеется, это относится не только к компонентам для cms Joomla, но и вообще к любому случаю применения классов.

Забавная японская реклама:



Вы можете оставить комментарий , или использовать trackback - ссылки с вашего сайта.

4 комментария to “Опечатки в коде MVC для Joomla 1.5”

  1. OmniWizard:

    Спасибо большое)) отличная статья! Помогла

  2. Да, действительно. Так бывает. Давайте обсудим этот вопрос. Здесь или в PM.

  3. Опечатки в коде MVC для Joomla 1.5 — http://webtalk.su/opechatki-v-kode-mvc-d

Оставить комментарий

Читать RSS в Google

Добавить в Google Reader

Читать RSS в Яндексе

Добавить в Яндекс-ленту

Страницы 1 of 11

Switch to our mobile site

Rambler's Top100