Виджет показа нескоьких новостей
Виджет показа нескоьких новостей
Прочел http://www.yiiframework.com/doc/guide/1 ... view#sec-3 но многое осталось непонятно, может у кого-то есть уже решения, хочу с помощью виджета вывести на главную страницу 5 новостей с таблицы News (раздел новостей)
-
- Сообщения: 957
- Зарегистрирован: 2014.05.31, 20:50
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Виджет показа нескоьких новостей
Реализация должна быть похожей как у виджета последних комментариев из демо блога:
https://github.com/yiisoft/yii/blob/mas ... mments.php
https://github.com/yiisoft/yii/blob/mas ... n2.php#L16
https://github.com/yiisoft/yii/blob/mas ... mments.php
https://github.com/yiisoft/yii/blob/mas ... n2.php#L16
Re: Виджет показа нескоьких новостей
Почему бы не попробовать как-то так ?
Код: Выделить всё
# application.php (layout)
...
<?php $this->widget('ext.widgets.NewsWidget', [
'count' => 5,
]) ?>
...
# protected/extensions/widgets/NewsWidget.php
<?php
class NewsWidget extends CWidget {
public $count = 3;
public function run()
{
$models = News::model()->findAll([
'limit' => $this->count,
]);
$this->render('NewsWidgetView', compact('models'));
}
}
?>
# protected/extensions/widgets/views/NewsWidgetView.php
<?php if (!empty($models)): ?>
<ul>
<?php foreach ($models as $model): ?>
<li><?php echo $model->title ?></li>
<?php endforeach ?>
</ul>
<?php endif ?>
Re: Виджет показа нескоьких новостей
Cпасибо, но выдает ошибку Parse error: syntax error, unexpected '[' видимо, из-за того что у меня пхп 5.2?HQ0 писал(а):Почему бы не попробовать как-то так ?
Код: Выделить всё
# application.php (layout) ... <?php $this->widget('ext.widgets.NewsWidget', [ 'count' => 5, ]) ?> ... # protected/extensions/widgets/NewsWidget.php <?php class NewsWidget extends CWidget { public $count = 3; public function run() { $models = News::model()->findAll([ 'limit' => $this->count, ]); $this->render('NewsWidgetView', compact('models')); } } ?> # protected/extensions/widgets/views/NewsWidgetView.php <?php if (!empty($models)): ?> <ul> <?php foreach ($models as $model): ?> <li><?php echo $model->title ?></li> <?php endforeach ?> </ul> <?php endif ?>
Re: Виджет показа нескоьких новостей
Было бы неплохо сделать себе пхп >= 5.4, но если такой возможности нет, то заменять [ ], на array( )
Re: Виджет показа нескоьких новостей
Спасибо огромное, все работает, почти с первого раза, что удивительноHQ0 писал(а):Было бы неплохо сделать себе пхп >= 5.4, но если такой возможности нет, то заменять [ ], на array( )
Re: Виджет показа нескоьких новостей
Пользуйся, но помни -- всегда думай головой
Re: Виджет показа нескоьких новостей
Подскажите пожалуйста:
сейчас так, хочу чтобы название инпута было слева от него, а не над. как сделать?
не на всех страницах используется бустраповская актив-форм, и не везде почему-то работает type-horizonal
сейчас так, хочу чтобы название инпута было слева от него, а не над. как сделать?
не на всех страницах используется бустраповская актив-форм, и не везде почему-то работает type-horizonal
Re: Виджет показа нескоьких новостей
Не могу ничего сказать на этот счет. Вопрос решается стилями.
Re: Виджет показа нескоьких новостей
Ок, наверное глупый вопрос, но задам:HQ0 писал(а):Не могу ничего сказать на этот счет. Вопрос решается стилями.
я хочу чтобы изображение в виджете было слева, справа обтекался текстом ( на картинке 1). задаю соответствующий див с флоат:лефт во вьюхе виджета <?php echo CHtml::image(Yii::app()->baseUrl."/images/".$model->image); ?> но дело в том, что получается вот как:( на картинке 2)
[img]]http://ipic.su/img/img7/fs/dchempng.1410385684.png[/img]
Re: Виджет показа нескоьких новостей
Попробуй всё-таки разобраться как работают стили — вот пример написанный на голени http://jsfiddle.net/hwxcbhok/
Re: Виджет показа нескоьких новостей
да я что-то в фориче потерялся:HQ0 писал(а):Попробуй всё-таки разобраться как работают стили — вот пример написанный на голени http://jsfiddle.net/hwxcbhok/
Код: Выделить всё
<div class="newswidg">
<?php if (!empty($models)): ?>
<?php foreach ($models as $model): ?>
<div class="newswidgimg"> <?php echo CHtml::image(Yii::app()->baseUrl."/images/".$model->image); ?> </div>
<?php echo $model->title ?>
<?php echo $model->adress ?>
<?php endforeach ?>
<?php endif ?>
</div>
Код: Выделить всё
.newswidgimg {
float: left;
width: 350px;
margin: 0 5px 5px 0;
}
.newswidg {
float: left;
margin: 0 5px 5px 0;
}
Re: Виджет показа нескоьких новостей
Вроде разобрался, но буду держать вас в курсе
Re: Виджет показа нескоьких новостей
а блин, подскажите пожалуйста, как в моем выводе изображение обрамить в бутстраповский
?
Код: Выделить всё
<?php echo CHtml::image(Yii::app()->baseUrl."/images/".$model->image); ?>
Код: Выделить всё
<?php $this->widget('bootstrap.widgets.TbThumbnails', array(
'dataProvider'=>$listDataProvider,
'template'=>"{items}\n{pager}",
'itemView'=>'_thumb',
)); ?>