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

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

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

Сообщение ultradrum » 27 авг 2012, 05:20

В рубрике "вопрос-ответ" при просмотре статьи мы видим список вопросов и ниже саму статью. Как сделать наоборот, чтобы сначала шла статья, а ниже ссылки на все другие статьи?
ultradrum
Прохожий
 
Сообщения: 25
Зарегистрирован: 20 июл 2012, 22:01
Очки репутации: 0

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

Сообщение Xpycm » 27 авг 2012, 10:09

Файл 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>';
    }
?>
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

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

Сообщение ultradrum » 12 ноя 2012, 14:45

У меня уже больше двадцати статей... Смотрится не очень здорово текст статьи и куча ссылок... Как можно уменьшить их количество хотя бы до десяти? А лучше до пяти...
ultradrum
Прохожий
 
Сообщения: 25
Зарегистрирован: 20 июл 2012, 22:01
Очки репутации: 0

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

Сообщение Xpycm » 12 ноя 2012, 15:49

Файл 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()'; 
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

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

Сообщение ultradrum » 13 ноя 2012, 11:49

1. Добавил случайный вывод ссылок... На каждой странице выведены пять одних и тех же ссылок, можно сделать чтобы ссылки были разными на каждой странице?
2. Что касается начала поста... Сейчас порядок такой: название рубрики, статья, ссылки. А нужно так: статья, рубрика, ссылки.
ultradrum
Прохожий
 
Сообщения: 25
Зарегистрирован: 20 июл 2012, 22:01
Очки репутации: 0

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

Сообщение Foton » 13 ноя 2012, 12:35

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>';
    }
?>

И будем вам много-много счастья ;)
Foton
Разработчик
Разработчик
 
Сообщения: 431
Зарегистрирован: 26 янв 2012, 14:58
Очки репутации: 8


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 2