Настройка приложения Musicbox 2.0.4 - Дизайн и модификация Invision Power Board

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

 

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

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

Страница 1 из 1

Настройка приложения Musicbox 2.0.4

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

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

Отправлено 01 Июль 2018 - 13:04

Подскажите, пожалуйста, как сделать сортировку по названию композиций (song_title - название поля с названием композиции в базе данных) всегда, по умолчанию, вот на такой странице. Сейчас при каждом обновлении сортировка рандомная.

Шаблон такой:

{{$rowIds = array();}}
{{foreach $rows as $row}}
	{{$idField = $row::$databaseColumnId;}}
	{{$rowIds[] = $row->$idField;}}
{{endforeach}}
{{if count( $rows )}}
<table class="ipsTable">
	<tbody>
		{{foreach $rows as $row}}
		{{$idField = $row::$databaseColumnId;}}
			{{if $row->mapped('moved_to')}}
				{{if $movedTo = $row->movedTo()}}
					<tr>
						<td>
							<i class="fa fa-arrow-left ipsType_large"></i>				
						</td>
						<td>
							<h4 class='ipsDataItem_title ipsType_break'>
								<em><a href='{$movedTo->url()}' title='{lang="go_to_new_location"}'>{wordbreak="$row->mapped('title')"}</a></em>
							</h4>
							<div class='ipsDataItem_meta'>
								<p class='ipsType_reset ipsType_light ipsType_blendLinks'>{lang="moved_to" sprintf="$movedTo->container()->url(), $movedTo->container()->_title"}</p>
							</div>
						</td>		
						<td>
							<div class='ipsPos_right' style='padding-right: 15px;'>
								{{if $table && $table->canModerate()}}
									<span class='ipsCustomInput'>
										<input type='checkbox' data-role='moderation' name="moderate[{$row->$idField}]" data-actions="{expression="implode( ' ', $table->multimodActions( $row ) )"}" data-state='{{if $row->tableStates()}}{$row->tableStates()}{{endif}}'>
										<span></span>
									</span>
								{{endif}}								
							</div>
						</td>					
					</tr>
				{{endif}}
			{{else}}
				<tr>			
					<td style='padding-left: 0px !important;'>	
						<div id='songRowInfo' class='ipsSpacer_bottom'>
							<a href="{$row->url()}" rel='loadAjaxPage' data-section='Songs' title='{$row->title}'>
								<div class="song-play-icon" style='margin-left: 10px; margin-right: 10px'></div>
							</a>
							
							<div class='ipsPos_left'>
							{{if $table}}
								{{if $row->mapped('locked')}}
									<i class="fa fa-lock"></i>
								{{endif}}
								{{if $row->mapped('pinned')}}
									<span data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
								{{endif}}			
								{{if $row->hidden() === -1 || $row->hidden() === 1}}
									<span>
										{{if $row->hidden() === -1}}
											<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$row->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
										{{elseif $row->hidden() === 1}}
											<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
										{{endif}}										
									</span>
								{{endif}}
							{{endif}}
							{{if $row->mapped('title')}}								
								<a class='ipsType_normal' rel='loadAjaxPage' data-section='Songs' href='{$row->url()}' title='{$row->title} - {$row->singers()}'>
									{wordbreak="$row->mapped('title')"}
								</a>	
								{{if \IPS\Application::appIsEnabled( 'nexus' ) and settings.mbconf_nexus_on}}
									<span class="songPrice">
										{{if $price = $row->price()}}{$price|raw}{{else}}{lang="song_free"}{{endif}}
									</span>
								{{endif}}
								<br>
								<span class='ipsType_blendLinks ipsType_light'>{$row->artistLinks($row->singers())|raw}</span>
							{{else}} 
								<em class="ipsType_light">{lang="content_deleted"}</em>
							{{endif}}
							</div>
						</div>					
					</td>
					<td>
						<span class='ipsType_light ipsResponsive_hidePhone' data-ipstooltip title='{lang="musicbox_views"}'>
							<i class="fa fa-headphones"></i> {number="$row->views"}
						</span>	
						<div class='ipsPos_right'>
							<span class='ipsResponsive_hidePhone'>{template="songActions" app="musicbox" group="global" params="$row"}</span>
							{{if $table && $table->canModerate()}}
								  
								{{$idField = $row::$databaseColumnId;}}
								<span class='ipsCustomInput ipsPos_right'>
									<input type='checkbox' data-role='moderation' name="moderate[{$row->$idField}]" data-actions="{expression="implode( ' ', $table->multimodActions( $row ) )"}" data-state='{{if $row->tableStates()}}{$row->tableStates()}{{endif}}'>
									<span></span>
								</span>
							{{endif}}									
						</div>
						{{if $row->container()->bitoptions['rating']}}
							<div class='ipsPos_right ipsResponsive_hideTablet ipsResponsive_hidePhone' style='margin-top:-3px !important; margin-right:30px !important;' data-ipsTooltip title='{lang="musicbox_top_avg_rating"}: {number="$row->rating_average"}'>
								{template="rating" group="global" location="front" app="core" params="'small', $row->rating_average"}
							</div>
						{{endif}}						
					</td>				
				</tr>
			{{endif}}
		{{endforeach}}
	</tbody>
</table>	
{{endif}}


Ссылка на приложение.

Файл такой:

Вложений

  • Вложение  artists.php (4,33К)
    Количество загрузок: 1

0

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

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

Отправлено 01 Июль 2018 - 14:02

Цитата

Файл такой:



		$select = \IPS\Db::i()->select( '*', 'musicbox_artists', $where, 'RAND()', array( ( $page - 1 ) * $perpage, $perpage ), NULL, NULL, \IPS\Db::SELECT_SQL_CALC_FOUND_ROWS );

RAND() заменить на artist_name
Но, судя по файлу, это для https://www.a108.net...ten/performers/

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

Подскажите, пожалуйста, как сделать сортировку по названию композиций (song_title - название поля с названием композиции в базе данных) всегда, по умолчанию, вот на такой странице.
Не вижу там рандомной сортировки композиций.
1

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

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

Отправлено 01 Июль 2018 - 20:40

Спасибо, это тоже пригодилось. Исправил аналогично RAND() в файле profile.php на song_title.
0

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

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

Отправлено 01 Июль 2018 - 21:18

Вот тут еще осталось по title отсортировать? Какую переменную заменить на song_title или что-то еще?
Прицепленный файл точно тот (проверил - если его удаляешь, то страница не работает).

Вложений

  • Вложение  view.php (21,68К)
    Количество загрузок: 1

0

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

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

Отправлено 02 Июль 2018 - 08:15

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

Прицепленный файл точно тот (проверил - если его удаляешь, то страница не работает).
Тут нет нужного.

\applications\musicbox\sources\Song\Song.php
'song_playlist_pos ASC'

0

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

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

Отправлено 02 Июль 2018 - 13:15

Немного не понял. В этом файле в одном месте уже написано следующее:

			foreach( \IPS\Db::i()->select( '*', 'musicbox_songs', "find_in_set('{$this->id}',song_inPlaylist) <> 0", 'song_playlist_pos ASC')  as $s )

0

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

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

Отправлено 02 Июль 2018 - 13:21

Вот сделал так: 'song_playlist_pos DESC'

Теперь сортирует в обратном порядке и то не везде. В начале списка по-порядку идет, а потом в разнобой:

178 Aindra_Das_-_(2004_10.28)_Kirtan_After_Damodarastaka - Shripad Aindra das
179 Aindra_Das_-_(2009_03.16)_Varsana_Kirtan_01 - Shripad Aindra das
180 Aindra_Das_-_(2004_10.29)_Kirtan - Shripad Aindra das

Сообщение изменено: Zero108 (02 Июль 2018 - 13:22)

0

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

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

Отправлено 02 Июль 2018 - 13:32

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

Немного не понял.

Я написал, что нужно изменить.

'song_playlist_pos ASC'
сортировка по позициям.
Замените на
'song_title ASC'

1

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

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

Отправлено 11 Июль 2018 - 02:50

Еще одна страница, где хотелось бы отсортировать названия групп маркеров по названию.
0

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

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

Отправлено 11 Июль 2018 - 08:37

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

Еще одна страница, где хотелось бы отсортировать названия групп маркеров по названию.


Так там Membermap, а мы тут о Musicbox говорим.
0

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


Страница 1 из 1


Быстрый ответ

  

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-2018 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна