Как я могу изменить этот код JomSocial PHP только для отображения активности для зарегистрированных пользователей? - PullRequest
1 голос
/ 31 июля 2011

JomSocial по умолчанию использует 3 файла для отображения страницы «Индекс» для своих пользователей:

frontpage.index.php -> Содержит if / then для проверки вошедших в систему пользователей, загружает frontpage.members.php, если залогинен, или frontpage.guest.php, если не авторизован. Затем отображается недавняя активность, независимо от того, о том, вошел ли пользователь в систему или нет.

frontpage.members.php -> Не имеет особых действий (код ниже)

frontpage.guest.php -> Отображает окно входа в систему.

Проблема с этой настройкой по умолчанию заключается в следующем: она отображает недавние потоки активности для всех, включая гостей. Я ТОЛЬКО хочу, чтобы вошедшие в систему пользователи могли видеть поток активности. Я пытался перекодировать это сам, но продолжаю получать ошибки PHP (я не программист PHP) ... поэтому я надеюсь на некоторую помощь.

содержание frontpage.index.php

<script type="text/javascript">joms.filters.bind();</script>

<!-- begin: #cFrontpageWrapper -->
<div id="cFrontpageWrapper">
    <?php 
    /**
     * if user logged in 
     *      load frontpage.members.php
     * else 
     *      load frontpage.guest.php
     */  
    echo $header;
    ?>

    <!-- begin: .cLayout -->
    <div class="cLayout clrfix">
        <!-- begin: .cSidebar -->
        <div class="cSidebar clrfix">
            <?php $this->renderModules( 'js_side_top' ); ?>     
            <?php if( $this->params->get('showsearch') == '1' || ($this->params->get('showsearch') == '2' && $my->id != 0 ) ) { ?>
            <?php
            /**
             * ----------------------------------------------------------------------------------------------------------           
             * Searchbox section here
             * ----------------------------------------------------------------------------------------------------------            

            // A COUPLE HUNDRED LINES OF CODE TO DISPLAY SEARCH, RECENT ACTIVITIES, ETC.

            <!-- Recent Activities -->
            <?php } ?>

        </div>
        <!-- end: .cMain -->

    </div>
    <!-- end: .cLayout -->

</div>
<!-- begin: #cFrontpageWrapper -->

Что мне нужно, так это выяснить, как настроить вещи так, чтобы секция .clayout отображалась ТОЛЬКО, если пользователь вошел в систему. Проблема в том, что я не могу понять, как это изменить код соответственно. Меня смущают звездочки вокруг раздела if / then / else. Может кто-нибудь показать мне, как это перекодировать?

Это должно выглядеть примерно так:

if user logged in
  load frontpage.members.php
  //DISPLAY CLAYOUT INFO
else
  load frontpage.guest.php

Ответы [ 2 ]

2 голосов
/ 13 октября 2011

Включить условие, чтобы проверить, является ли пользователь зарегистрированным пользователем или порывом. Пожалуйста, смотрите следующий код.

<script type="text/javascript">joms.filters.bind();</script>

<!-- begin: #cFrontpageWrapper -->
<div id="cFrontpageWrapper">
    <?php 
    /**
     * if user logged in 
     *      load frontpage.members.php
     * else 
     *      load frontpage.guest.php
     */  
    echo $header;
    ?>

    <?php 
    $user =& JFactory::getUser();
    if (!$user->guest) { 
    ?>


    <!-- begin: .cLayout -->
    <div class="cLayout clrfix">
        <!-- begin: .cSidebar -->
        <div class="cSidebar clrfix">
            <?php $this->renderModules( 'js_side_top' ); ?>     
            <?php if( $this->params->get('showsearch') == '1' || ($this->params->get('showsearch') == '2' && $my->id != 0 ) ) { ?>
            <?php
            /**
             * ----------------------------------------------------------------------------------------------------------           
             * Searchbox section here
             * ----------------------------------------------------------------------------------------------------------            

            // A COUPLE HUNDRED LINES OF CODE TO DISPLAY SEARCH, RECENT ACTIVITIES, ETC.

            <!-- Recent Activities -->
            <?php } ?>

        </div>
        <!-- end: .cMain -->

    </div>
    <!-- end: .cLayout -->

</div>
<!-- begin: #cFrontpageWrapper -->

  <?php } ?>
1 голос
/ 16 июля 2014

JomSocial на самом деле имеет настройку для этого.

Перейдите в Компоненты> JomSocial> Конфигурация> Макет

В «Потоке активности на главной странице» установите «Показать активность»Stream "to" Only Members "

...