Организация фотоконкурса на базе Галереи 4.1.1 IPBoard 3.2.2 - Страница 2 - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

СвернутьПрикрепленные теги

Теги не найдены

  • 3 Страниц +
  • 1
  • 2
  • 3
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

Организация фотоконкурса на базе Галереи 4.1.1 IPBoard 3.2.2

#16 Пользователь не на сайте   Petros ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 99
  • Регистрация: 24-Январь 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 05 Апрель 2012 - 23:11

Все здорово, просто супер, все считает

http://hunting-club....r-glazami-ohot/


Но есть одно но!


Посыпался шалбон после добавления вот этого


Просмотреть сообщениеRitsuka сказал(а):

{parse expression="sprintf("%01.2f",$image['ratings_total']/$image['ratings_count'])"}



В шапке появилось вот это

Warning: Division by zero in /var/www/www.hunting-club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558 Warning: Division by zero in /var/www/www.hunting-club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558 Warning: Division by zero in /var/www/www.hunting-club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558 Warning: Division by zero in /var/www/www.hunting-club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558 Warning: Division by zero in /var/www/www.hunting-club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558 Warning: Division by zero in /var/www/www.hunting-club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558 Warning: Division by zero in /var/www/www.hunting-club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558 Warning: Division by zero in /var/www/www.hunting-club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558club.org/forum/cache/skin_cache/cacheid_7/skin_gallery_albums.php on line 558[/code]

Сообщение изменено: Petros (05 Апрель 2012 - 23:12)

0

#17 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 530
  • IPB version:3.4.x
 

Отправлено 06 Апрель 2012 - 02:29

Правильно, если никто не голосовал, то там - ноль. А на ноль делить нельзя.

Это нужно проверять:

{parse expression="($image['ratings_count'] > 0) ? sprintf("%01.2f",$image['ratings_total']/$image['ratings_count']) : 0"}

0

#18 Пользователь не на сайте   Petros ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 99
  • Регистрация: 24-Январь 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 06 Апрель 2012 - 06:56

Просмотреть сообщениеRitsuka 06 Апрель 2012 - 02:29 сказал(а):

Правильно, если никто не голосовал, то там - ноль. А на ноль делить нельзя.

Это нужно проверять:

{parse expression="($image['ratings_count'] > 0) ? sprintf("%01.2f",$image['ratings_total']/$image['ratings_count']) : 0"}




Вообще все фотки куда то исчезают в этом случае :(
0

#19 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 166
  • Регистрация: 26-Октябрь 11
  • Репутация: 813
  • IPB version:I have no IPB
 

Отправлено 06 Апрель 2012 - 07:39

Просмотреть сообщениеPh-A сказал(а):

В галереи средний бал не есть среднее арифметическое. Там еще учитывается количество голосов. То есть за фотография с большим количеством голосов будет выше. По крайней мере так было раньше.

Ну я сам так назвал показатель, исходя из того, что он рассчитывается так: сумма всех оценок ($image['ratings_total']) / количество голосов ($image['ratings_count']).
Что касается дробной части, то в самом коде идет округление значения, а потом уже запись в БД. Поэтому правильно предложил Ritsuka заняться арифметическими действиями самим.

<br />
Общее число оценок: {parse expression="intval($image['ratings_count'])"} &middot; Общая оценка: {parse expression="intval($image['ratings_total'])"}
<br />
Средний балл: <if test="$image['ratings_count'] > 0">
{parse expression="sprintf("%01.2f",$image['ratings_total']/$image['ratings_count'])"}
<else />
0
</if>

Либо такой вариант:
<br />
<if test="$image['ratings_count'] > 0">
Общее число оценок: {parse expression="intval($image['ratings_count'])"} &middot; Общая оценка: {parse expression="intval($image['ratings_total'])"}
<br />
Средний балл: {parse expression="sprintf("%01.2f",$image['ratings_total']/$image['ratings_count'])"}
<else />
<strong>Фото без оценки</strong>
</if>

0

#20 Пользователь не на сайте   Petros ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 99
  • Регистрация: 24-Январь 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 06 Апрель 2012 - 08:36

Просмотреть сообщениеnewbie сказал(а):

<br />
Общее число оценок: {parse expression="intval($image['ratings_count'])"} &middot; Общая оценка: {parse expression="intval($image['ratings_total'])"}
<br />
Средний балл: <if test="$image['ratings_count'] > 0">
{parse expression="sprintf("%01.2f",$image['ratings_total']/$image['ratings_count'])"}
<else />
0
</if>



Попробовал этот код- все работает.

Спасибо!
0

#21 Пользователь не на сайте   Jet ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 33
  • Регистрация: 26-Март 11
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 18 Июль 2012 - 17:42

Просмотреть сообщениеRitsuka сказал(а):

P.S. Вижу, что у вас отдельный альбом под конкурс. Ну, тогда и страница отдельная не нужна, просто сделать специальный шаблон для этой страницы, чтобы на ней выводилась еще и оценка.

Здравствуйте. Очень заинтересовал этот момент. Если не затруднит, объясните как привязать свой шаблон к определенному альбому?
0

#22 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 530
  • IPB version:3.4.x
 

Отправлено 18 Июль 2012 - 20:05

Самый простой вариант - проверяйте в коде шаблона номер альбома через <if>, и используйте два разных блока верстки на оба случая в одном шаблоне :)
1

#23 Пользователь не на сайте   Jet ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 33
  • Регистрация: 26-Март 11
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 18 Июль 2012 - 23:40

Понятно. Действительно, вариант. А по-конкретней, как эта строка (<if>) должна выглядеть? В коде ну очень плохо разбираюсь.
0

#24 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 530
  • IPB version:3.4.x
 

Отправлено 18 Июль 2012 - 23:44

В шаблоне albumView в самом начале добавьте:

<if test="$album['album_id']==123">
...копия всего шаблона...
<else />
...оригинальный шаблон...
</if>


И правьте копию на свой вкус как угодно :)

Та же конструкция удобна для "боевой" отладки чего-либо.

<if test="$this->memberData['member_id']==123">
тестовый вариант оформления, виден вам
<else />
оригинальный шаблон для всех остальных
</if>


Где 123 - ваш id.
1

#25 Пользователь не на сайте   Jet ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 33
  • Регистрация: 26-Март 11
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 19 Июль 2012 - 01:28

Огромный спасиб, Ritsuka! Метод работает и на странице просмотра изображения.
0

#26 Пользователь не на сайте   Jet ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 33
  • Регистрация: 26-Март 11
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 19 Июль 2012 - 01:42

Вот незадача только. У меня конкурсные альбомы находятся в глобальном альбоме, т.е. суб-альбомы. Возможно задать id главного альбома, чтобы во всех суб-альбомах использовать свой шаблон? Или id каждого альбома прописывать? И можно ли прописать несколько id?
0

#27 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 166
  • Регистрация: 26-Октябрь 11
  • Репутация: 813
  • IPB version:I have no IPB
 

Отправлено 19 Июль 2012 - 14:04

Просмотреть сообщениеJet сказал(а):

И можно ли прописать несколько id?

<if test="in_array( $album['album_id'], array( 1,2,3 ) )">

1,2,3 - перечисление через запятую ID альбомов, для которых будет использоваться свой шаблон.
1

#28 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 530
  • IPB version:3.4.x
 

Отправлено 19 Июль 2012 - 17:49

И там наверняка есть что-то вроде $album['parent_id'].

Проверьте содержимое массива $album таким кодом и посмотрите нужные вам поля:

<php> print_r($album); die; </php>


Потом просто уберите этот блок кода.
1

#29 Пользователь не на сайте   Jet ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 33
  • Регистрация: 26-Март 11
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 19 Июль 2012 - 20:38

newbie, Ritsuka, спасибо большое. Оба варианта работают.
0

#30 Пользователь не на сайте   Jet ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 33
  • Регистрация: 26-Март 11
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 02 Август 2012 - 17:35

Вот еще такой вопрос созрел, а как бы еще в сортировке изображений (в альбоме), сделать так чтобы популярные сортировались по общей сумме оценок а не по среднему баллу? Реально ли это?
0

Сообщить об этой теме:


  • 3 Страниц +
  • 1
  • 2
  • 3
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна