Мне известно, что Yii и я пытаюсь изучить некоторые из основных функций. Я использую базовое приложение, используемое Yii, но с моими собственными моделями. Все до сих пор работало. Теперь я пытаюсь добавить комментарии к элементам. Я создал виджет, и я хочу, чтобы кнопка отправлялась на клик данные формы и не приводила меня к странице создания по умолчанию.Представляем текст с Yii
Код, используемый для инициализации виджета
<?php
$this->widget('application.components.Comment', array(
'url'=>'url',
));
?>
Comment.php
<?php
class Comment extends CWidget {
public $comments = array();
public $url = '';
public function run() {
$model=new AlbumComment;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['AlbumComment']))
{
$model->attributes=$_POST['AlbumComment'];
if($model->save())
$this->redirect(array('view','id'=>$model->comment_Id));
}
$this->render('comment', array('url' => $this->url));
}
}?>
Comment.php
<?php echo CHtml::beginForm('Create', 'post', array('id'=>'commentForm')); ?>
<div class='addComment' style='display: block; width: 170px;'>
<div id='commentBanner' style='color: #298dcd; background: none repeat scroll 0 0 #b7d6e7; padding-left: 15px; font-weight: 600; font-size: 12px;'>Write Commit</div>
<?php echo CHtml::textField('comment', '', array('style'=>'height: 25px; width: 164px; margin: 5px 0;'));?>
<?php
$id = preg_match('/\d$/', Yii::app()->request->url, $model);
echo CHtml::textField('commentId', $id, array('style'=>'display:none;'));?>
<?php
$pattern = '/\d$/';
$id = preg_match('/\d$/', Yii::app()->request->url, $model);
//$url = Yii::app()->createUrl('AlbumComment/Create', array('album_Id'=>$id));
echo CHtml::button(
'submit',
array(
'submit'=>'components/Comment',
));?>
</div>
Это перенаправляет меня на страницу создания в любую модели я м, но я хочу, чтобы он автоматически отправлял введенный текст и сохранить в db для модели, в которой я включен. Надеюсь, это достаточно ясно, и любая помощь приветствуется.
EDIT: Я получил его, чтобы предоставить мне данные, представленные правильно. Последняя часть становится его направить Comment.php и не AlbumCommentController.php
Я пробовал:
echo CHtml::button(
'submit',
array(
'submit'=>'components/Comment',
));?>
я получаю: система не в состоянии найти требуемое действие «компоненты/комментарий». Я получил 'submit' => 'Comment', но получил: система не может найти запрошенное действие «Комментарий».
Любые идеи?
Не могли бы вы рассказать мне пример «url»? –
url example: http://127.0.0.1/trackstar/yii/framework/trackstar/index.php/artist/1 – user2812097