Страница 1 из 1

Рбрика "вопрос-ответ"

СообщениеДобавлено: 27 авг 2012, 05:20
ultradrum
В рубрике "вопрос-ответ" при просмотре статьи мы видим список вопросов и ниже саму статью. Как сделать наоборот, чтобы сначала шла статья, а ниже ссылки на все другие статьи?

Re: Рбрика "вопрос-ответ"

СообщениеДобавлено: 27 авг 2012, 10:09
Xpycm
Файл protected\modules\articles\views\view.php
Вместо:
Код: Выделить всё
<?php
    
if ($articles) {
        echo 
'<ul class="apartment-description-ul">';
        foreach (
$articles as $article) {
            echo 
'<li>'.CHtml::link($article['page_title'], $article->getUrl(), array('class'=>'title')).'</li>';
        }
        echo 
'</ul>';
    }
    if (!empty(
$model)) {
        
?>
        <h2><?php echo $model['page_title'];?></h2>
        <p><?php echo $model['page_body'];?></p>
        <?php
    
}
?>


написать:

Код: Выделить всё
<?php
    
if (!empty($model)) {
        
?>
        <h2><?php echo $model['page_title'];?></h2>
        <p><?php echo $model['page_body'];?></p>
        <?php
    
}
    if (
$articles) {
        echo 
'<ul class="apartment-description-ul">';
        foreach (
$articles as $article) {
            echo 
'<li>'.CHtml::link($article['page_title'], $article->getUrl(), array('class'=>'title')).'</li>';
        }
        echo 
'</ul>';
    }
?>

Re: Рбрика "вопрос-ответ"

СообщениеДобавлено: 12 ноя 2012, 14:45
ultradrum
У меня уже больше двадцати статей... Смотрится не очень здорово текст статьи и куча ссылок... Как можно уменьшить их количество хотя бы до десяти? А лучше до пяти...

Re: Рбрика "вопрос-ответ"

СообщениеДобавлено: 12 ноя 2012, 15:49
Xpycm
Файл protected\modules\articles\controllers\MainController.php в нём интересен метод public function actionView($id)
после:
Код: Выделить всё
$criteria->condition = 'active=1'; 

добавить:
Код: Выделить всё
$criteria->limit= 5; 

тогда при просмотре статьи будет выводится по 5 ссылок на остальные статьи, если выставить
Код: Выделить всё
$criteria->limit= 10; 
, то, соотвественно, по 10 ссылок.

Можно добавить случайный вывод ссылок.Для этого нужно добавить:
Код: Выделить всё
$criteria->order = 'RAND()'; 

Re: Рбрика "вопрос-ответ"

СообщениеДобавлено: 13 ноя 2012, 11:49
ultradrum
1. Добавил случайный вывод ссылок... На каждой странице выведены пять одних и тех же ссылок, можно сделать чтобы ссылки были разными на каждой странице?
2. Что касается начала поста... Сейчас порядок такой: название рубрики, статья, ссылки. А нужно так: статья, рубрика, ссылки.

Re: Рбрика "вопрос-ответ"

СообщениеДобавлено: 13 ноя 2012, 12:35
Foton
1. Файл protected\modules\articles\controllers\MainController.php в методе public function actionView($id) вместо:
Код: Выделить всё
$articles = Article::model()->cache(param('cachingTime', 1209600), Article::getCacheDependency())->findAll($criteria); 

вставьте:
Код: Выделить всё
$articles = Article::model()->findAll($criteria); 
- это отключит кэширование и ссылки будут выводиться случайным образом.

2. Файл protected\modules\articles\views\view.php
Вместо:
Код: Выделить всё
<h1><?php echo tt("FAQ"); ?></h1>
    
<?php
    if 
($articles) {
        echo '<ul class="apartment-description-ul">';
        foreach ($articles as $article) {
            echo '<li>'.CHtml::link($article['page_title'], $article->getUrl(), array('class'=>'title')).'</li>';
        }
        echo '</ul>';
    }
    if (!empty($model)) {
        ?>
        <h2><?php echo $model['page_title'];?></h2>
        <p><?php echo $model['page_body'];?></p>
        <?php
    
}
?>

напишите:
Код: Выделить всё
<?php
    if 
(!empty($model)) {
        ?>
        <h2><?php echo $model['page_title'];?></h2>
        <p><?php echo $model['page_body'];?></p>
        <?php
    
}
?>
<h1><?php echo tt("FAQ"); ?></h1>
<?php
    if 
($articles) {
        echo '<ul class="apartment-description-ul">';
        foreach ($articles as $article) {
            echo '<li>'.CHtml::link($article['page_title'], $article->getUrl(), array('class'=>'title')).'</li>';
        }
        echo '</ul>';
    }
?>

И будем вам много-много счастья ;)