こことフォーラムでコードを試しましたが、うまくいかないようです。最新の投稿を表示するインデックス ページがあり、ID の降順で表示したいだけです。以下に示すように、下のテキストを文字で制限していることも知りたいのですが、単語数で制限したいのですが、試してみるとテキストが表示されません。ありがとう、ここに私のコードがあります。
_view.php
<div class="view">
<? $this->pageTitle = "Latest Music"?>
<h4><?php echo CHtml::encode($data->id); ?>.
<?php echo CHtml::encode($data->title); ?></h4>
<p><?php
$charLimit = 680;
$myText = CHtml::encode($data->text);
$teaserText = substr($myText,0,$charLimit) . "...";
echo $teaserText;
?></p>
<p><?php echo CHtml::link('View Article', array('view', 'id'=>$data->id)); ?>
 
<?php echo CHtml::link('Update Article', array('update', 'id'=>$data->id)); ?></p>
</div>
NewsController/actionIndex
public function actionIndex()
{
$this->pageTitle = "$TitleP";
$TitleP = print CHtml::encode($data->title);
$dataProvider=new CActiveDataProvider('news_model');
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
ニュースモデル
class news_model extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return '{{news}}';
}
public function rules()
{
return array(
array('title, text', 'required'),
array('title', 'length', 'max'=>128),
array('id', 'length', 'max'=>128),
array('text', 'length', 'max'=>1500),
array('title, text', 'safe', 'on'=>'search'),
);
}
public function relations()
{
return array(
);
}
public function attributeLabels()
{
return array(
'id' => 'ID',
'title' => 'Title',
'slug' => 'Slug',
'text' => 'Text',
);
}
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('title',$this->title,true);
$criteria->compare('text',$this->text,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
}