Hi and hope you be alright,
We are running a Persian website which needs to be RTL. I have seen previous posts and your answer that JomSocial would be RTL as the appropriate language found. I used fa-IR language code and added a file using this code into my fa-IR Joomla language files.
Most parts of JomSocial are now RTL but some parts such as "joomsocial toolbar", "cover photo", "name" and "profile picture" have not changed.
I have provided admin information for you. It would be appreciated if you could please lead us as soon as possible.
Thanks and Regards,
Hi, Arasp.
To fix toolbar align:
Paste this:
#community-wrap .js-toolbar .nav {
float: right;
}
.collapse #community-wrap .navbar .nav > li {
float: right;
}
<div class="span3">
<div class="thumbnail js-focus-avatar">
<img src="<?php echo $profile->largeAvatar; ?>" alt="<?php echo $this->escape( $user->getDisplayName() ); ?>" />
<?php if( $isMine || COwnerHelper::isCommunityAdmin() ): ?>
<b class="js-focus-avatar-option">
<a href="javascript:void(0)" onclick="joms.photos.uploadAvatar('profile','<?php echo $profile->id?>')"><?php echo JText::_('COM_COMMUNITY_CHANGE_AVATAR')?></a>
</b>
<?php endif; ?>
</div>
</div>
<div class="span9">
<!-- Focus Menu -->
<div class="js-focus-menu">
<div class="row-fluid">
<div class="span12">
<ul class="inline unstyled">
<li><a href="#" class="about js-collapse-about-btn"><?php echo JText::_('COM_COMMUNITY_ABOUT_ME')?></a></li>
<?php if($photoEnabled) {?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=photos&task=myphotos&userid='.$profile->id); ?>">
<?php echo ($profile->_photos == 1) ? JText::sprintf('COM_COMMUNITY_PHOTOS_COUNT_SINGULAR',$profile->_photos) : JText::sprintf('COM_COMMUNITY_PHOTOS_COUNT',$profile->_photos) ?>
</a>
</li>
<?php }?>
<?php if($videoEnabled) {?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=videos&task=myvideos&userid='.$profile->id); ?>">
<?php echo ($profile->_videos == 1) ? JText::sprintf('COM_COMMUNITY_VIDEOS_COUNT',$profile->_videos) : JText::sprintf('COM_COMMUNITY_VIDEOS_COUNT_MANY',$profile->_videos) ?>
</a>
</li>
<?php }?>
<?php if($groupEnabled) {?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=mygroups&userid='.$profile->id); ?>">
<?php echo ($profile->_groups == 1) ? JText::sprintf('COM_COMMUNITY_GROUPS_COUNT',$profile->_groups) : JText::sprintf('COM_COMMUNITY_GROUPS_COUNT_MANY',$profile->_groups) ?>
</a>
</li>
<?php }?>
<?php if($eventEnabled) {?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=events&task=myevents&userid='.$profile->id); ?>">
<?php echo ($profile->_events == 1) ? JText::sprintf('COM_COMMUNITY_EVENTS_COUNT',$profile->_events) : JText::sprintf('COM_COMMUNITY_EVENTS_COUNT_MANY',$profile->_events) ?>
</a>
</li>
<?php }?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=friends&userid='.$profile->id); ?>">
<?php echo ($profile->_friends == 1) ? JText::sprintf('COM_COMMUNITY_FRIENDS_COUNT',$profile->_friends) : JText::sprintf('COM_COMMUNITY_FRIENDS_COUNT_MANY',$profile->_friends) ?>
</a>
</li>
<!-- Karma -->
<?php if($config->get('enablekarma')){ ?>
<li class="cFocus-karma jomNameTips" title="<?php echo JText::_('COM_COMMUNITY_KARMA'); ?>"><img src="<?php echo $karmaImgUrl; ?>" alt="" /></li>
<?php } ?>
</ul>
</div>
</div>
</div>
<div class="collapse js-collapse-about">
<div class="row-fluid">
<div class="span12">
<div><?php echo $about; ?></div>
<dl class="dl-horizontal">
<dt><?php echo JText::_('COM_COMMUNITY_MEMBER_SINCE'); ?></dt>
<dd><?php echo JHTML::_('date', $registerDate , JText::_('DATE_FORMAT_LC2')); ?></dd>
<dt><?php echo JText::_('COM_COMMUNITY_LAST_LOGIN'); ?></dt>
<dd><?php echo $lastLogin; ?></dd>
<?php if( $multiprofile->name && $config->get('profile_multiprofile') ){ ?>
<dt><?php echo JText::_('COM_COMMUNITY_PROFILE_TYPE'); ?></dt>
<dd><?php echo $multiprofile->name;?></dd>
<?php } ?>
</dl>
</div>
</div>
</div>
</div>
<div class="span9">
<!-- Focus Menu -->
<div class="js-focus-menu">
<div class="row-fluid">
<div class="span12">
<ul class="inline unstyled">
<li><a href="#" class="about js-collapse-about-btn"><?php echo JText::_('COM_COMMUNITY_ABOUT_ME')?></a></li>
<?php if($photoEnabled) {?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=photos&task=myphotos&userid='.$profile->id); ?>">
<?php echo ($profile->_photos == 1) ? JText::sprintf('COM_COMMUNITY_PHOTOS_COUNT_SINGULAR',$profile->_photos) : JText::sprintf('COM_COMMUNITY_PHOTOS_COUNT',$profile->_photos) ?>
</a>
</li>
<?php }?>
<?php if($videoEnabled) {?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=videos&task=myvideos&userid='.$profile->id); ?>">
<?php echo ($profile->_videos == 1) ? JText::sprintf('COM_COMMUNITY_VIDEOS_COUNT',$profile->_videos) : JText::sprintf('COM_COMMUNITY_VIDEOS_COUNT_MANY',$profile->_videos) ?>
</a>
</li>
<?php }?>
<?php if($groupEnabled) {?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=mygroups&userid='.$profile->id); ?>">
<?php echo ($profile->_groups == 1) ? JText::sprintf('COM_COMMUNITY_GROUPS_COUNT',$profile->_groups) : JText::sprintf('COM_COMMUNITY_GROUPS_COUNT_MANY',$profile->_groups) ?>
</a>
</li>
<?php }?>
<?php if($eventEnabled) {?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=events&task=myevents&userid='.$profile->id); ?>">
<?php echo ($profile->_events == 1) ? JText::sprintf('COM_COMMUNITY_EVENTS_COUNT',$profile->_events) : JText::sprintf('COM_COMMUNITY_EVENTS_COUNT_MANY',$profile->_events) ?>
</a>
</li>
<?php }?>
<li>
<a href="<?php echo CRoute::_('index.php?option=com_community&view=friends&userid='.$profile->id); ?>">
<?php echo ($profile->_friends == 1) ? JText::sprintf('COM_COMMUNITY_FRIENDS_COUNT',$profile->_friends) : JText::sprintf('COM_COMMUNITY_FRIENDS_COUNT_MANY',$profile->_friends) ?>
</a>
</li>
<!-- Karma -->
<?php if($config->get('enablekarma')){ ?>
<li class="cFocus-karma jomNameTips" title="<?php echo JText::_('COM_COMMUNITY_KARMA'); ?>"><img src="<?php echo $karmaImgUrl; ?>" alt="" /></li>
<?php } ?>
</ul>
</div>
</div>
</div>
<div class="collapse js-collapse-about">
<div class="row-fluid">
<div class="span12">
<div><?php echo $about; ?></div>
<dl class="dl-horizontal">
<dt><?php echo JText::_('COM_COMMUNITY_MEMBER_SINCE'); ?></dt>
<dd><?php echo JHTML::_('date', $registerDate , JText::_('DATE_FORMAT_LC2')); ?></dd>
<dt><?php echo JText::_('COM_COMMUNITY_LAST_LOGIN'); ?></dt>
<dd><?php echo $lastLogin; ?></dd>
<?php if( $multiprofile->name && $config->get('profile_multiprofile') ){ ?>
<dt><?php echo JText::_('COM_COMMUNITY_PROFILE_TYPE'); ?></dt>
<dd><?php echo $multiprofile->name;?></dd>
<?php } ?>
</dl>
</div>
</div>
</div>
</div>
<div class="span3">
<div class="thumbnail js-focus-avatar">
<img src="<?php echo $profile->largeAvatar; ?>" alt="<?php echo $this->escape( $user->getDisplayName() ); ?>" />
<?php if( $isMine || COwnerHelper::isCommunityAdmin() ): ?>
<b class="js-focus-avatar-option">
<a href="javascript:void(0)" onclick="joms.photos.uploadAvatar('profile','<?php echo $profile->id?>')"><?php echo JText::_('COM_COMMUNITY_CHANGE_AVATAR')?></a>
</b>
<?php endif; ?>
</div>
</div>
<div class="span5 offset3">
<h3><?php echo $user->getDisplayName(); ?></h3>
</div>
<div class="span4 text-right">
<!-- Send message button -->
<?php if( !$isMine && $config->get('enablepm')){ ?>
<a href="javascript:void(0);" class="btn" onclick="<?php echo $sendMsg; ?>">
<span><?php echo JText::_('COM_COMMUNITY_INBOX_SEND_MESSAGE')?></span></a>
<?php }?>
<!-- Add as friend button -->
<?php if( !$isMine ): ?>
<?php if(!$isFriend && !$isMine && !$isBlocked): ?>
<?php if(!$isWaitingApproval):?>
<div class="btn btn-primary" onclick="joms.friends.connect('<?php echo $profile->id;?>')">
<span><?php echo JText::_('COM_COMMUNITY_PROFILE_ADD_AS_FRIEND'); ?></span>
</div>
<?php else : ?>
<div class="btn" onclick="joms.friends.connect('<?php echo $profile->id;?>')">
<span><?php echo JText::_('COM_COMMUNITY_PROFILE_PENDING_FRIEND_REQUEST'); ?></span>
</div>
<?php endif ?>
<?php endif; ?>
<?php endif ?>
</div>
<div class="span4 text-right">
<!-- Send message button -->
<?php if( !$isMine && $config->get('enablepm')){ ?>
<a href="javascript:void(0);" class="btn" onclick="<?php echo $sendMsg; ?>">
<span><?php echo JText::_('COM_COMMUNITY_INBOX_SEND_MESSAGE')?></span></a>
<?php }?>
<!-- Add as friend button -->
<?php if( !$isMine ): ?>
<?php if(!$isFriend && !$isMine && !$isBlocked): ?>
<?php if(!$isWaitingApproval):?>
<div class="btn btn-primary" onclick="joms.friends.connect('<?php echo $profile->id;?>')">
<span><?php echo JText::_('COM_COMMUNITY_PROFILE_ADD_AS_FRIEND'); ?></span>
</div>
<?php else : ?>
<div class="btn" onclick="joms.friends.connect('<?php echo $profile->id;?>')">
<span><?php echo JText::_('COM_COMMUNITY_PROFILE_PENDING_FRIEND_REQUEST'); ?></span>
</div>
<?php endif ?>
<?php endif; ?>
<?php endif ?>
</div>
<div class="span5 offset3">
<h3><?php echo $user->getDisplayName(); ?></h3>
</div>
Hi dear Michal,
Thanks for your reply, I successfully made avatar, user info and cover photo RTL by your advice but I don't know where and to which file I should paste the first section (jomsocial toolbar). It would be so kind if you could please guide me about it.
Thanks
Hi, Arasp.
You're using compression for css files so I can't determine to what file exactly you should add css code.
Connect via FTP and browse to ROOT/templates/ja_berranis/css ther should be main css file. Ad my code there.
Or disable for a moment css compression, then I'll point you directly to a file.
Hi, Arasp.
This is the file: ROOT/templates/ja_beranis/css/rtl/template.css
Thanks a lot dear Michal,
It is OK now. However my suggestion is to consider RTL languages in your codes more than past. It would be very nice if you add special folder for the files need to be run in RTL (exactly the same as what joomlart and T3 framework did in their templates). For example, Jomsocial toolbar is now just "shifted" to right and has not changed to real RTL. notifications are still at the end right which is not nice looking and so on. I know it needs more work and can not be done in this ticket, I just pointed as a suggestion since now there are more than a billion people using RTL languages I guess in the world and JomSocial is going to be more and more popular :)
Thanks again for your guidance
Regards,
Hi, Arasp.
Thank you for your suggestion. I'll pass it to our developer as a improvement.
Hi, Arasp.
Copy this file: ROOT/components/com_community/templates/default/groups.viewgroup.php
to ROOT/templates/ja_beranis/html/com_community (if you don't have "html" or "com_community" folder, feel free to create them)
Edit file in line 63, replace this:
<div class="span3">
<div class="thumbnail js-focus-avatar">
<img src="<?php echo $group->getAvatar( 'avatar' ); ?>" border="0" alt="<?php echo $this->escape($group->name);?>" />
<?php if ($isAdmin || $isSuperAdmin || $isMine) { ?>
<b class="js-focus-avatar-option">
<a href="javascript:void(0)" onclick="joms.photos.uploadAvatar('group','<?php echo $group->id?>')"><?php echo JText::_('COM_COMMUNITY_CHANGE_AVATAR')?></a>
</b>
<?php } ?>
</div>
</div>
<div class="span9">
<!-- Focus Menu -->
<div class="js-focus-menu">
<div class="row-fluid">
<div class="span12">
<ul class="inline unstyled">
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=viewmembers&groupid='.$group->id)?>"><?php echo ( $membersCount == 1) ? JText::sprintf('COM_COMMUNITY_GROUPS_MEMBER_COUNT',$membersCount) : JText::sprintf('COM_COMMUNITY_GROUPS_MEMBER_COUNT_MANY',$membersCount) ; ?></a></li>
<?php if($config->get('creatediscussion')) {?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=viewdiscussions&groupid='.$group->id)?>"><?php echo ( count($discussions) == 1) ? JText::sprintf('COM_COMMUNITY_GROUPS_DISCUSSION_COUNT',count($discussions)) : JText::sprintf('COM_COMMUNITY_GROUPS_DISCUSSION_COUNT_MANY',count($discussions)); ?></a></li>
<?php }?>
<?php if($config->get('createannouncement')){?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=viewbulletins&groupid='.$group->id)?>"><?php echo ( count($bulletins) == 1 ) ? JText::sprintf('COM_COMMUNITY_GROUPS_ANNOUNCEMENT_COUNT',count($bulletins)) : JText::sprintf('COM_COMMUNITY_GROUPS_ANNOUNCEMENT_COUNT_MANY',count($bulletins)); ?></a></li>
<?php }?>
<?php if($showPhotos){ ?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=photos&task=display&groupid='.$group->id)?>"><?php echo ( $totalPhotos == 1 ) ? JText::sprintf('COM_COMMUNITY_PHOTOS_COUNT_SINGULAR',$totalPhotos) : JText::sprintf('COM_COMMUNITY_PHOTOS_COUNT',$totalPhotos); ?></a></li>
<?php }?>
<?php if($showVideos){ ?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=videos&groupid='.$group->id);?>"><?php echo ( $totalVideos == 1 ) ? JText::sprintf('COM_COMMUNITY_VIDEOS_COUNT',$totalVideos) : JText::sprintf('COM_COMMUNITY_VIDEOS_COUNT_MANY',$totalVideos) ; ?></a></li>
<?php }?>
<?php if($showEvents){?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=events&task=dispaly&groupid='.$group->id)?>"><?php echo ( $totalEvents == 1) ? JText::sprintf('COM_COMMUNITY_EVENTS_COUNT',$totalEvents) : JText::sprintf('COM_COMMUNITY_EVENTS_COUNT_MANY',$totalEvents) ; ?></a></li>
<?php }?>
</ul>
</div>
</div>
</div>
<!-- Focus Details expand/collapse -->
<div class="js-focus-details collapse">
<div class="row-fluid">
<div class="span12">
<p><?php //echo $group->description; ?></p>
<dl class="dl-horizontal">
<dt><?php echo JText::_('COM_COMMUNITY_GROUPS_CATEGORY'); ?></dt>
<dd><a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=display&categoryid=' . $group->categoryid);?>"><?php echo JText::_( $group->getCategoryName() ); ?></a></dd>
<dt><?php echo JText::_('COM_COMMUNITY_GROUPS_CREATE_TIME');?></dt>
<dd><?php echo JHTML::_('date', $group->created, JText::_('DATE_FORMAT_LC')); ?></dd>
<dt><?php echo JText::_('COM_COMMUNITY_GROUPS_ADMINS');?></dt>
<dd><?php echo $adminsList;?></dd>
</dl>
</div>
</div>
</div>
</div>
<div class="span9">
<!-- Focus Menu -->
<div class="js-focus-menu">
<div class="row-fluid">
<div class="span12">
<ul class="inline unstyled">
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=viewmembers&groupid='.$group->id)?>"><?php echo ( $membersCount == 1) ? JText::sprintf('COM_COMMUNITY_GROUPS_MEMBER_COUNT',$membersCount) : JText::sprintf('COM_COMMUNITY_GROUPS_MEMBER_COUNT_MANY',$membersCount) ; ?></a></li>
<?php if($config->get('creatediscussion')) {?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=viewdiscussions&groupid='.$group->id)?>"><?php echo ( count($discussions) == 1) ? JText::sprintf('COM_COMMUNITY_GROUPS_DISCUSSION_COUNT',count($discussions)) : JText::sprintf('COM_COMMUNITY_GROUPS_DISCUSSION_COUNT_MANY',count($discussions)); ?></a></li>
<?php }?>
<?php if($config->get('createannouncement')){?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=viewbulletins&groupid='.$group->id)?>"><?php echo ( count($bulletins) == 1 ) ? JText::sprintf('COM_COMMUNITY_GROUPS_ANNOUNCEMENT_COUNT',count($bulletins)) : JText::sprintf('COM_COMMUNITY_GROUPS_ANNOUNCEMENT_COUNT_MANY',count($bulletins)); ?></a></li>
<?php }?>
<?php if($showPhotos){ ?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=photos&task=display&groupid='.$group->id)?>"><?php echo ( $totalPhotos == 1 ) ? JText::sprintf('COM_COMMUNITY_PHOTOS_COUNT_SINGULAR',$totalPhotos) : JText::sprintf('COM_COMMUNITY_PHOTOS_COUNT',$totalPhotos); ?></a></li>
<?php }?>
<?php if($showVideos){ ?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=videos&groupid='.$group->id);?>"><?php echo ( $totalVideos == 1 ) ? JText::sprintf('COM_COMMUNITY_VIDEOS_COUNT',$totalVideos) : JText::sprintf('COM_COMMUNITY_VIDEOS_COUNT_MANY',$totalVideos) ; ?></a></li>
<?php }?>
<?php if($showEvents){?>
<li><a href="<?php echo CRoute::_('index.php?option=com_community&view=events&task=dispaly&groupid='.$group->id)?>"><?php echo ( $totalEvents == 1) ? JText::sprintf('COM_COMMUNITY_EVENTS_COUNT',$totalEvents) : JText::sprintf('COM_COMMUNITY_EVENTS_COUNT_MANY',$totalEvents) ; ?></a></li>
<?php }?>
</ul>
</div>
</div>
</div>
<!-- Focus Details expand/collapse -->
<div class="js-focus-details collapse">
<div class="row-fluid">
<div class="span12">
<p><?php //echo $group->description; ?></p>
<dl class="dl-horizontal">
<dt><?php echo JText::_('COM_COMMUNITY_GROUPS_CATEGORY'); ?></dt>
<dd><a href="<?php echo CRoute::_('index.php?option=com_community&view=groups&task=display&categoryid=' . $group->categoryid);?>"><?php echo JText::_( $group->getCategoryName() ); ?></a></dd>
<dt><?php echo JText::_('COM_COMMUNITY_GROUPS_CREATE_TIME');?></dt>
<dd><?php echo JHTML::_('date', $group->created, JText::_('DATE_FORMAT_LC')); ?></dd>
<dt><?php echo JText::_('COM_COMMUNITY_GROUPS_ADMINS');?></dt>
<dd><?php echo $adminsList;?></dd>
</dl>
</div>
</div>
</div>
</div>
<div class="span3">
<div class="thumbnail js-focus-avatar">
<img src="<?php echo $group->getAvatar( 'avatar' ); ?>" border="0" alt="<?php echo $this->escape($group->name);?>" />
<?php if ($isAdmin || $isSuperAdmin || $isMine) { ?>
<b class="js-focus-avatar-option">
<a href="javascript:void(0)" onclick="joms.photos.uploadAvatar('group','<?php echo $group->id?>')"><?php echo JText::_('COM_COMMUNITY_CHANGE_AVATAR')?></a>
</b>
<?php } ?>
</div>
</div>
<div class="row-fluid">
<div class="span5 offset3">
<h3><?php echo $group->name; ?></h3>
</div>
<div class="span4 text-right">
<!-- invite friend button -->
<?php if($isMember) { ?>
<div class="btn btn-primary" onclick="joms.invitation.showForm(null,'groups,inviteUsers','<?php echo $group->id;?>',1,1)"><i class="js-icon-user-add"></i><?php echo JText::_('COM_COMMUNITY_INVITE_FRIENDS'); ?></div>
<?php } else { ?>
<div class="btn btn-primary" onclick="joms.groups.join(<?php echo $group->id;?>)"><i class="js-icon-user-add"></i><?php echo JText::_('COM_COMMUNITY_GROUPS_JOIN'); ?></div>
<?php }?>
</div>
</div>
<div class="row-fluid">
<div class="span4 text-right">
<!-- invite friend button -->
<?php if($isMember) { ?>
<div class="btn btn-primary" onclick="joms.invitation.showForm(null,'groups,inviteUsers','<?php echo $group->id;?>',1,1)"><i class="js-icon-user-add"></i><?php echo JText::_('COM_COMMUNITY_INVITE_FRIENDS'); ?></div>
<?php } else { ?>
<div class="btn btn-primary" onclick="joms.groups.join(<?php echo $group->id;?>)"><i class="js-icon-user-add"></i><?php echo JText::_('COM_COMMUNITY_GROUPS_JOIN'); ?></div>
<?php }?>
</div>
<div class="span5 offset3">
<h3><?php echo $group->name; ?></h3>
</div>
</div>
.t3-content-inner #community-wrap .row-fluid .offset3:first-child {
margin-left: 0;
text-align: right;
}
.js-focus-header .span4 .btn-primary {
float: left;
}