Witam,
Korzystam z cms Joomla 1.5 z zainstalowanym komponentem społecznościowym JomSocial. W pliku profile.about.php znajduje się kod odpowiedzialny za wyświetlanie z bazy danych informacji podanych podczas rejestracji (wiek, imię, adres itp.). W pliku profile.index.php z kodem szablonu linia <?php echo $about; ?> powoduje odwołanie się do kodu z pliku profile.about.php i w określonym miejscu powoduje wyświetlenie tych danych. Jednak jeśli skopiuję kod z profile.about.php i wkleję do profile.index.php w miejscy w którym chcę aby było to wyświetlane - na stronie zamiast danych pojawia się błąd: Warning: Invalid argument supplied for foreach() in ...\components\com_community\templates\blueface\profile.index.php on line 147
Chcę to zrobić ponieważ domyślnie wszystkie dane są wyświetlane razem w jednym miejscu, ja zmodyfikowałem kod w profile.about.php tak że określam jakie pola mają być wyświetlane, chcę wkleić w odpowiednich miejscach dwa razy kod z profile.about i pozmieniać w nich tylko jakie pola mają być wyświetlane, tym sposobem cześć danych będzie wyświetlana na górze a cześć w innym miejscy na stronie np na dole.
tu znajduje się kod z profile.about.php
<?php
/**
* @package JomSocial
* @subpackage Template
* @copyright (C) 2008 by Slashes & Dots Sdn Bhd - All rights reserved!
* @license GNU/GPL, see LICENSE.php
*
* @param profile A Profile object that contains profile fields for this specific user
* @param profile->
* @params isMine boolean is this profile belongs to me?
*/
defined('_JEXEC') or die();
?>
<div class="app-box">
<div class="app-box-header">
<h2 class="app-box-title"><?php echo JText::_('COM_COMMUNITY_ABOUT_ME');?></h2>
<!-- TODO: Port the edit profile icon from default template -->
<div class="app-box-menus">
<?php if( $isMine ): ?>
<div class="app-box-menu edit-profile">
<a class="app-box-menu-icon" href="<?php echo CRoute::_('index.php?option=com_community&view=profile&task=edit');?>"><span class="app-box-menu-title"><?php echo JText::_('COM_COMMUNITY_PROFILE_EDIT'); ?></span>
</a>
</div>
<?php endif; ?>
</div>
</div>
<div class="app-box-content">
<?php foreach( $profile['fields']['Education'] as $item ): ?>
<ul class="profile-about">
<li class="info-title"><?php echo JText::_( $item['name'] ); ?></li>
<li class="info-detail">
<?php if(!empty($item['searchLink'])) :?>
<a href="<?php echo $item['searchLink']; ?>">
<?php endif; ?>
<?php echo CProfileLibrary::getFieldData( $item['type'] , $item['value'] ); ?>
<?php if(!empty($item['searchLink'])) :?>
</a>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
Fragment kodu szablonu -profile.index.php
<div class="cMain clrfix">
<?php echo @$header; ?>
<div style="padding-bottom: 20px;">
<table cellpadding="3" cellspacing="3" border="0" width="100%" class="table-info">
<tr>
<?php if($config->get('enablekarma')){ ?>
<td align="center" valign="top" style="width: 20%">
<div class="number"><?php echo $user->_points; ?></div>
<div class="text"><?php echo JText::sprintf( (CStringHelper::isPlural($user->_points)) ? 'COM_COMMUNITY_POINTS' : 'COM_COMMUNITY_SINGULAR_POINT' ); ?></div>
</td>
<?php } ?>
<td align="center" valign="top" style="width: 20%">
<a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&userid='.$user->id); ?>">
<div class="number"><?php echo $totalgroups; ?></div>
<div class="text"><?php echo JText::sprintf( (CStringHelper::isPlural($totalgroups)) ? 'COM_COMMUNITY_GROUPS_PLURAL_GROUP' : 'COM_COMMUNITY_SINGULAR_GROUP' ); ?></div>
</a>
</td>
<td align="center" valign="top" style="width: 20%">
<a href="<?php echo CRoute::_('index.php?option=com_community&view=friends&userid='.$user->id); ?>">
<div class="number"><?php echo $totalfriends; ?></div>
<div class="text"><?php echo JText::sprintf( (CStringHelper::isPlural($totalfriends)) ? 'COM_COMMUNITY_FRIENDS' : 'COM_COMMUNITY_SINGULAR_FRIEND' ); ?></div>
</a>
</td>
<?php
if( $config->get('enablephotos') )
{
?>
<td align="center" valign="top" style="width: 20%">
<a href="<?php echo CRoute::_('index.php?option=com_community&view=photos&task=myphotos&userid='.$user->id); ?>">
<div class="number"><?php echo $totalphotos; ?></div>
<div class="text"><?php echo JText::sprintf( (CStringHelper::isPlural($totalphotos)) ? 'COM_COMMUNITY_PHOTOS' : 'COM_COMMUNITY_SINGULAR_PHOTO' ); ?></div>
</a>
</td>
<?php
}
?>
<td align="center" valign="top" style="width: 20%">
<div class="number">
<?php
if ( !$totalactivities == '' OR $totalactivities > 0 ) {
echo $totalactivities;
}
else {
echo 0;
}
?>
</div>
<div class="text"><?php echo JText::sprintf( (CStringHelper::isPlural($totalactivities)) ? 'COM_COMMUNITY_ACTIVITIES' : 'COM_COMMUNITY_ACTIVITY' ); ?></div>
</td>
</tr>
</table>
</div>
<?php echo $about; ?>
<!-- begin: Activity Stream -->
<div class="app-box">
<div class="app-box-header">
<h2 class="app-box-title"><?php echo JText::_('COM_COMMUNITY_FRONTPAGE_RECENT_ACTIVITIES'); ?></h2>
</div>
<div class="app-box-content">
<?php $this->renderModules( 'js_profile_feed_top' ); ?>
<div id="activity-stream-nav" class="filterlink">
<a class="p-active-profile-and-friends-activity active-state" href="javascript:void(0);"><?php echo JText::sprintf('COM_COMMUNITY_PROFILE_OWNER_AND_FRIENDS' , $profileOwnerName );?></a>
<a class="p-active-profile-activity" href="javascript:void(0);"><?php echo $profileOwnerName ?></a>
<div class="loading"></div>
</div>
<div id="activity-stream-container"><?php echo $newsfeed; ?></div>
<?php $this->renderModules( 'js_profile_feed_bottom' ); ?>
</div>
</div>
<!-- end: Activity Stream -->
<?php echo $content; ?>
</div>
<?php $this->renderModules( 'js_profile_bottom' ); ?>
</div>
<!-- end: .cLayout -->
</div>
<!-- end: #cProfileWrapper -->