Доброго времени суток всем. Сопсно такая проблема - пробую сделать свой компонент, чтобы понять что и как читал статью про создание компонента "hello". Сделал свою таблицу и пытаюсь реализовать простейщие функции в админской части компонента - такие как создание, редактирование, удаление. Функция удаления работает чудесно - ломать не строить. А вот при нажатии на кнопочке Save при редактировании или создании новой записи происходит редирект на login в администраторскую часть, несмотря на то, что в адресной строке написано "/index.php?option=com_имя_компонента". Соответственно просит ввести имя и пароль. Подскажите пожалуйста в какую сторону копать?
Привет. У меня подобная фигня. Только любое действие вызывает редирект на запрос пароля. Я тему сегодня такую же открыл.
копайте в сторону имени домена. если домен запроса различается (частый пример: www.site.com и site.com) - сессия не актуальна - выпадает в страницу логина не отрицаю что возможно не в этом баг. напишите пример реализации процедуры сохранения или т.п.
Код (PHP): function save() { $model = $this->getModel('whereip'); if ($model->store()) { $msg = JText::_( 'Данные успешно сохранены!' ); } else { $msg = JText::_( 'Ошибка сохранения данных' ); } $this->setRedirect( 'index.php?option=com_whereip', $msg ); } Код (PHP): function store() { $row = $this->getTable(); $data = JRequest::get( 'post' ); if (!$data[id]){ $data[id]=0; } if (!$row->bind($data)) { $this->setError($this->_db->getErrorMsg()); return false; } if (!$row->check()) { $this->setError($this->_db->getErrorMsg()); return false; } if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); return false; } return true; }
Давайте я выложу компонент hello world, и все смогут посмотреть - что за проблема. И понять откуда она берется. ddkk, если поймешь в чем дело - напиши, пожалуйста.
Начинаю флудить... В общем - ddkk - у нас одна и та же ошибка. Скачал тот самый хеллоу ворлд (http://downloads.joomlacode.org/frsrelease/2/9/4/29436/com_hello4_01.zip) - поставил - работает нормально. Сейчас буду разбирать, почему мое не работает. Разберусь - отпишу.
?? странные вещи! у меня никаких редиректов при создании компонента не было! Вообще инфа в рунете про создание hello world неполная - его надо для нормальной работоспособности самому дорабатывать! Функции сохранения "стандартные" - там может надо покапать в файле в макете в котором вы редактируете записи - может что в теге form внутри не то передаете или указываете в hiden!
ну а че его выкладывать я оттудава код копипастил ну и правил ессн под свои нужды. ну да, там есть чего поправить. ок, а то мне пока не до этого
Все, проблема решена. При назначении сообщений - НЕЛЬЗЯ использовать русские буквы. Работает - Код (PHP): function save() { $model = $this->getModel('realt'); if ($model->store($post)) { $msg = JText::_( 'Save' ); } else { $msg = JText::_( 'Save error' ); } $link = 'index.php?option=com_realt'; $this->setRedirect($link, $msg); } $msg = JText::_( 'Сохранено' ); - не работает. Точнее работает, но сообщение не отображается и вообще происходит логоут. Вариантов несколько - делаем языковой файл и особо не мучаемся. Либо используем английский.
ах ты ж елки палки... а я еще помню вроде правка работало а добавление нет - потом занялся марафетом - по-русски сообщения написал, точно...и все сломал ) спасибо.