Вообщем заказчик сделал такую интересную мне задачку:
Чтобы он выводил призовые места на отдельной страничке. И чтобы в админке была возможность указать время сколько идет голосование. Возможность устраивать общее соревнование и по категориям.
Для начала хочу реализовать идею такую, вывести в Таблицу "Оценку" - "Самые популярные изображения в категории".
Это уже реализовано в "Статистике" - "Вывод наиболее просматриваемых изображений в этой категории", поэтому это труда не составило мне сделать.
Вот на что я потратил 2-3часа и все бестолку. Я хочу чтобы там в таблице "Оценке" отображался рейтинг изображений, также как и в самой категории. Рисунок прикрепляю.
Код отвечающий за то чтобы голосование было:
// Rate Image
if($value->item_type == 'image' && $this->tmpl['displayratingimg'] == 1) {
?> <a class="<?php echo $value->buttonother->methodname; ?>" title="<?php echo JText::_('Rate Image');//$value->title; ?>" href="<?php echo JRoute::_('index.php?option=com_phocagallery&view=detail&catid='.$this->category->slug.'&id='.$value->slug.$tmplCom.'&Itemid='. JRequest::getVar('Itemid', 1, 'get', 'int') ); ?>"<?php
if ($this->tmpl['detailwindow'] == 1) {
echo ' onclick="'. $value->buttonother->optionsrating.'"';
} else if ($this->tmpl['detailwindow'] == 4 ) {
echo ' onclick="'. $this->tmpl['highslideonclick'].'"';
} else if ($this->tmpl['detailwindow'] == 5 ) {
echo ' onclick="'. $this->tmpl['highslideonclick2'].'"';
} else if ($this->tmpl['detailwindow'] == 7 ) {
echo '';
} else {
echo ' rel="'. $value->buttonother->optionsrating.'"';
}
echo ' >';
echo '<div><ul class="star-rating-small">'
.'<li class="current-rating" style="width:'.$value->voteswidthimg.'px"></li>'
.'<li><span class="star1"></span></li>';
for ($iV = 2;$iV < 6;$iV++) {
echo '<li><span class="stars'.$iV.'"></span></li>';
}
echo '</ul></div>';
echo '</a>';
}
echo JHTML::_('image', 'components/com_phocagallery/assets/images/icon-viewed.'.$this->tmpl['formaticon'], JText::_('Image Detail'));
echo ' '.$value->hits.' '.JText::_('VIEWED').'';
echo '</div>';
echo '<div style="clear:both"></div>';
echo '</div>';
}
Что я не так интересно могу делать?
Здесь можно глянуть как работает система голосования в ваших категориях: my_sites/components/com_phocagallery/views/category/tmpl/default.php
Отсюда взял код статистики:
my_sites/components/com_phocagallery/views/category/tmpl/default_statistic.php
Здесь все тестирую:
my_sites/components/com_phocagallery/views/category/tmpl/default_rating.php
Прилагаю свой код:
<?php defined('_JEXEC') or die('Restricted access');
// SEF problem
$isThereQMR = false;
$isThereQMR = preg_match("/\?/i", $this->tmpl['action']);
if ($isThereQMR) {
$amp = '&';
} else {
$amp = '?';
}
?><div id="phocagallery-votes">
<div style="font-size:1px;height:1px;margin:0px;padding:0px;"> </div>
<fieldset>
<legend><?php echo JText::_('Rate this category'); ?></legend>
<?php
echo '<p><strong>' . JText::_('Rating'). '</strong>: ' . $this->tmpl['votesaverage'] .' / '.$this->tmpl['votescount'] . ' ' . JText::_($this->tmpl['votestext']). '</p>';
if ($this->tmpl['alreadyrated']) {
echo '<ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->tmpl['voteswidth'].'px"></li>'
.'<li><span class="star1"></span></li>';
for ($i = 2;$i < 6;$i++) {
echo '<li><span class="stars'.$i.'"></span></li>';
}
echo '</ul>'
.'<p>'.JText::_('You have already rated this category').'</p>';
} else if ($this->tmpl['notregistered']) {
echo '<ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->tmpl['voteswidth'].'px"></li>'
.'<li><span class="star1"></span></li>';
for ($i = 2;$i < 6;$i++) {
echo '<li><span class="stars'.$i.'"></span></li>';
}
echo '</ul>'
.'<p>'.JText::_('Only registered and logged in user can rate this category').'</p>';
} else {
echo '<ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->tmpl['voteswidth'].'px"></li>'
.'<li><a href="'.$this->tmpl['action'].$amp.'controller=category&task=rate&rating=1&tab='.$this->tmpl['currenttab']['rating'].$this->tmpl['limitstarturl'].'" title="1 '. JText::_('star out of').' 5" class="star1">1</a></li>';
for ($i = 2;$i < 6;$i++) {
echo '<li><a href="'.$this->tmpl['action'].$amp.'controller=category&task=rate&rating='.$i.'&tab='.$this->tmpl['currenttab']['rating'].$this->tmpl['limitstarturl'].'" title="'.$i.' '. JText::_('star out of').' 5" class="stars'.$i.'">'.$i.'</a></li>';
}
echo '</ul>';
}
if ($this->tmpl['displaymostviewedcatstat']) {
echo '<fieldset><legend>'.JText::_('COOL VIEWED IMAGES IN CATEGORY').'</legend>';
if (!empty($this->tmpl['mostviewedimg'])) {
foreach($this->tmpl['mostviewedimg'] as $key => $value) {
$imageHeight = PhocaGalleryImage::correctSize($this->tmpl['imageheight'], 100, 100, 20);
$imageWidth = PhocaGalleryImage::correctSize($this->tmpl['imagewidth'], 100, 120, 20);
if ($this->tmpl['displayname'] == 1 || $this->tmpl['displayname'] == 2) {
$imageHeight['boxsize'] = $imageHeight['boxsize'] + 20;
}
if ($this->tmpl['displayicondetail'] == 1 || $this->tmpl['displayicondownload'] == 1 || $this->tmpl['displayiconfolder == 1'] || $this->tmpl['displayiconvm'] == 1 || $this->tmpl['startpiclens'] == 1 || $this->tmpl['trash'] == 1 || $this->tmpl['publishunpublish'] == 1 || $this->tmpl['displayicongeo']) {
$imageHeight['boxsize'] = $imageHeight['boxsize'] + 20;
}
if ( $this->tmpl['displayimageshadow'] != 'none' ) {
$imageHeight['boxsize'] = $imageHeight['boxsize'] + 18;
$imageHeight['size'] = $imageHeight['size'] + 18;
$imageWidth['size'] = $imageWidth['size'] + 18;
}
if ( $this->tmpl['categoryboxspace'] > 0 ) {
$imageHeight['boxsize'] = $imageHeight['boxsize'] + $this->tmpl['categoryboxspace'];
}
?>
<div class="phocagallery-box-file" style="height:<?php echo $imageHeight['boxsize']; ?>px; width:<?php echo $imageWidth['boxsize']; ?>px">
<center>
<div class="phocagallery-box-file-first" style="height:<?php echo $imageHeight['size']; ?>px;width:<?php echo $imageWidth['size']; ?>px;">
<div class="phocagallery-box-file-second">
<div class="phocagallery-box-file-third">
<center>
<a class="<?php echo $value->button->methodname; ?>"<?php
if ($value->type == 2) {
if ($value->overlib == 0) {
echo ' title="'. $value->title.'"';
}
}
echo ' href="'. $value->link.'"';
if ($value->type == 2) {
if ($this->tmpl['detailwindow'] == 1) {
echo ' onclick="'. $value->button->options.'"';
} else if ($this->tmpl['detailwindow'] == 4 || $this->tmpl['detailwindow'] == 5) {
$highSlideOnClick = str_replace('[phocahsfullimg]',$value->linkorig, $this->tmpl['highslideonclick']);
echo ' onclick="'. $highSlideOnClick.'"';
} else if ($this->tmpl['detailwindow'] == 6 ) {
echo ' onclick="gjaks.show('.$value->linknr.'); return false;"';
} else if ($this->tmpl['detailwindow'] == 7 ) {
echo '';
} else {
echo ' rel="'.$value->button->options.'"';
}
// SWITCH OR OVERLIB
if ($this->tmpl['switchimage'] == 1) {
?> onmouseover="PhocaGallerySwitchImage('PhocaGalleryobjectPicture', '<?php echo str_replace('phoca_thumb_m_','phoca_thumb_l_', JURI::base(true).'/'. $value->linkthumbnailpath); ?>');" onmouseout="PhocaGallerySwitchImage('PhocaGalleryobjectPicture', '<?php echo str_replace('phoca_thumb_m_','phoca_thumb_l_',JURI::base(true).'/'. $value->linkthumbnailpath); ?>');" <?php
} else {
echo $value->overlib_value;
}
?> ><?php
if ($value->overlib == 0) {
echo JHTML::_( 'image.site', $value->linkthumbnailpath, '', '', '', $value->title );
} else {
echo JHTML::_( 'image.site', $value->linkthumbnailpath, '', '', '', '' );
}
if ($value->enable_piclens == 1) {
?><span class="mbf-item">#phocagallerypiclens <?php echo $value->catid ;?>-phocagallerypiclenscode-<?php echo $value->filename;?></span><?php
}
} else {
?> ><?php
echo JHTML::_( 'image.site', $value->linkthumbnailpath, '', '', '', $value->title );
} // if type 2 else type 0, 1 (image, category, folder)
?></a><?php
if ( $this->tmpl['detailwindow'] == 5) {
if ($this->tmpl['displaytitleindescription'] == 1) {
echo '<div class="highslide-heading">';
echo $value->title;
echo '</div>';
}
if ($this->tmpl['displaydescriptiondetail'] == 1) {
echo '<div class="highslide-caption">';
echo $value->description;
echo '</div>';
}
} ?>
</center>
</div>
</div>
</div>
</center>
<?php
// subfolder
if ($value->type == 1) {
if ($value->displayname == 1 || $value->displayname == 2) {
echo '<div class="phocaname" style="font-size:'.$this->tmpl['fontsizename'].'px">'
.PhocaGalleryText::wordDelete($value->title, $this->tmpl['charlengthname'], '...').'</div>';
}
}
// image
if ($value->type == 2) {
if ($value->displayname == 1) {
echo '<div class="phocaname" style="font-size:'.$this->tmpl['fontsizename'].'px">'
.PhocaGalleryText::wordDelete($value->title, $this->tmpl['charlengthname'], '...').'</div>';
}
if ($value->displayname == 2) {
echo '<div class="phocaname" style="font-size:'.$this->tmpl['fontsizename'].'px"> </div>';
}
}
echo '<div class="detail" style="margin-top:2px;text-align:left">';
// Rate Image
if($value->item_type == 'image' && $this->tmpl['displayratingimg'] == 1) {
?> <a class="<?php echo $value->buttonother->methodname; ?>" title="<?php echo JText::_('Rate Image');//$value->title; ?>" href="<?php echo JRoute::_('index.php?option=com_phocagallery&view=detail&catid='.$this->category->slug.'&id='.$value->slug.$tmplCom.'&Itemid='. JRequest::getVar('Itemid', 1, 'get', 'int') ); ?>"<?php
if ($this->tmpl['detailwindow'] == 1) {
echo ' onclick="'. $value->buttonother->optionsrating.'"';
} else if ($this->tmpl['detailwindow'] == 4 ) {
echo ' onclick="'. $this->tmpl['highslideonclick'].'"';
} else if ($this->tmpl['detailwindow'] == 5 ) {
echo ' onclick="'. $this->tmpl['highslideonclick2'].'"';
} else if ($this->tmpl['detailwindow'] == 7 ) {
echo '';
} else {
echo ' rel="'. $value->buttonother->optionsrating.'"';
}
echo ' >';
echo '<div><ul class="star-rating-small">'
.'<li class="current-rating" style="width:'.$value->voteswidthimg.'px"></li>'
.'<li><span class="star1"></span></li>';
for ($iV = 2;$iV < 6;$iV++) {
echo '<li><span class="stars'.$iV.'"></span></li>';
}
echo '</ul></div>';
echo '</a>';
}
echo JHTML::_('image', 'components/com_phocagallery/assets/images/icon-viewed.'.$this->tmpl['formaticon'], JText::_('Image Detail'));
echo ' '.$value->hits.' '.JText::_('VIEWED').'';
echo '</div>';
echo '<div style="clear:both"></div>';
echo '</div>';
}
}
echo '</fieldset>';
}
?>
</fieldset>
</div>
ПОМОГИТЕ КТО МОЖЕТ ПОМОГИТЕ КТО МОЖЕТ ПОМОГИТЕ КТО МОЖЕТДа и вообще можно ли выводить например все изображения отдельной странице, или призовые и т.д.?
ПОМОГИТЕ КТО МОЖЕТ ПОМОГИТЕ КТО МОЖЕТ ПОМОГИТЕ КТО МОЖЕТ
[вложение удалено Администратором]