Вы пишете компоненты или плагины для Joomla? Этот пост для вас. Поймали ошибку, описанную здесь? Добро пожаловаться!
При разработке очередного компонента под Joomla 1.5 столкнулся с такой ошибкой:
Warning: Missing argument 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
А также
Missing argument 3 for JTable
и
Undefined variable: 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); } }
Вот здесь обратите внимание на "TableMytable": и в случае имени класса, и в случае имени конструктора должно использоваться одно и то же имя. Ну и разумеется, имя таблицы должно быть соответствующим: "#__mytable"
Разумеется, это относится не только к компонентам для cms Joomla, но и вообще к любому случаю применения классов.
—
Забавная японская реклама:
19 марта 2010
Alecfyz
Категории
Теги записи: 

Да, действительно. Так бывает. Давайте обсудим этот вопрос. Здесь или в PM.
Опечатки в коде MVC для Joomla 1.5 – http://webtalk.su/opechatki-v-kode-mvc-d...
via Twitoaster