Андрей Сухомозгий

Андрей Сухомозгий

Был в сети 23 октября 2018, 08:25
Заказы принимаю
нет. стилями ничего. смотрю исходный код страницы — ссылок нет. чищу кэш ссылки есть.
При этом: если тикет публиковать сразу — крошки впорядке. А если сначала в черновики, а потом публиковать, то крошки кешируются и помогает только очистка кеша
с помощью твоего компонента тогда можно будет сделать полноценную галерею к ресурсу из фронта. потому что сортировка картинок, как у Василия в ms2Gallery, перетаскиванием например — это важная часть любой галереи…
может я не прав, но мне было бы очень тяжело пользоваться компонентом, позволяющим грузить картинки или файлы, но не позволяющим их сортировать
У меня на одном сайте было вот так:
Список альбомов, как у вас. У каждого альбома есть превью…
Вот код для одного альбома:

<div class="swiper-slide albums-slide-media swiper-slide-active" style="order: 0; background-image: url("/assets/images/resources/17/227x225/inner-page-pic.jpg");" data-swiper-column="0" data-swiper-row="0">
	<div class="album-grey-inner-box">
		<table>
			<tbody>
				<tr><td><span>Второй альбом для теста</span>
		<img src="/assets/img/album-arrow.png" alt=""></td></tr>
			</tbody>
		</table>
		
	</div>
	<a href="#" class="gallery-album-link" data-albumname="Второй альбом для теста" data-albumid="17" data-action="getAllPics"></a>
</div>

Кликом по ссылке шел запрос на сервер с id альбома. В ответ приходил список ссылок. А дальше чисто на js — подставляем в fancybox и листаем:

$(document).ready(function() {
	// Вешаем обработчик события "клик" на все ссылки с классом ajax_link
	$('a.gallery-album-link').click(function(e) {
	e.preventDefault();
	// Берем действие из атрибута data-action ссылки
	var action = $(this).data('action');
	var albumid = $(this).data('albumid');
	var new_albumname = $(this).data('albumname');
	var link_array  = [];
	var pic_array = [];
	// Ajax запрос к текущей страницы (а на ней наш сниппет) методом post
	$.post(document.location.href, {action: action, id: albumid}, function(data) {
		link_array = data.split(",");
		var trimed_link_array = link_array.pop();
		$.fancybox.open(link_array, {
			afterShow: function(){
				if($('.album-name').length==0){
					$(".fancybox-overlay").prepend('<div class=album-name>'+new_albumname+'</div>');
				}
			},
			beforeClose: function(){
				$('.album-name').remove();
			},
			padding : 0,
			prevEffect: 'fade',
			nextEffect: 'fade',
			maxHeight: 590,
			tpl:{
				wrap     : '<div class="fancybox-wrap fsdgfdsgf" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
				image    : '<img class="fancybox-image" src="{href}" alt="" />',
				error    : '<p class="fancybox-error">The requested content cannot be loaded.
Please try again later.</p>',
				closeBtn : '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',
				next     : '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
				prev     : '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
			},
			margin: [20, 82, 20, 82],
			helpers	: {
				title	: null,
				thumbs	: {
					width	: 125,
					height	: 84
				},
				overlay : {
					css : {
						'background' : 'rgba(43, 55, 67, 0.95)'
					}
				}
			}
		}
		);
	});		
  })
})

Не нужно все картинки альбома сразу выводить на странице и скрывать все кроме первой.
Надеюсь помог…
видел эту картинку, но чет подумал, что «разные объекты» будут как бы на разных страницах, а эти табы — для связки двух объектов в рамках одного компонента.

можно же в общем-то, переименовав компонент, поставить его еще раз)
Илья, это просто замечательное дополнение. Но есть один вопрос — можно ли все таки создавать одновременно несколько таких объектов...? Допустим, это «Цитаты» и «Цитаты2»
Вопрос в связи с этим:
До тех пор, пока мне не понадобилось иметь два таких кастомных объекта...
Спасибо за подсказку, но к сожалению не работает такой пример. Сначала пишет, что не может найти поле dob в modUser. Когда я в
&where =`{"dob:>=":[[!monthStart]],"AND:dob:<":[[!monthEnd]]}`
пишу
&where =`{"modUserProfile.dob:>":[[!monthStart]],"AND:modUserProfile.dob:<":[[!monthEnd]]}`
То ошибок в логе нет, но при этом и ничего не выводит…