Skocz do zawartości

Losowe zdjecie z download na stronie głównej.


Przejdź do rozwiązania Rozwiązane przez DawPi,

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Przerobiłem sobie orginalny kod:

 

{{$radio = round( ($slider->img_h/$slider->img_w), 2 ) * 100;}}
<div id="Fcontent_{$slider->id}" class="{{if $conf['fcontent_use_wrapper']}}ipsBox{{endif}}">
	{{if $slider->showname == 1}}
		{{if $conf['fcontent_use_wrapper']}}
			<h3 class="ipsWidget_title ipsType_reset">
				{$slider->title}
			</h3>		
		{{else}}
			<div class="ipsPageHeader ipsClearfix sliderTitle">
				<h1 class="ipsType_pageTitle">{$slider->title}</h1>
			</div>
		{{endif}}
	{{endif}}
	<div class="{{if $conf['fcontent_use_wrapper']}}ipsPadding{{endif}}">
		<div id='sliderWrapper_{$slider->id}' class="sliderWrapper {{if $slider->ticker && $slider->style != 'vertical'}}fcTicker{{endif}} nolinks norewrite">
			<ul class='slider_{$slider->id}' {{if $slider->style != 'horizontal'}}style='margin-left: -40px;'{{endif}} data-ipsLazyLoad>
				{{foreach $data as $row}}
					<li class="fcitem {{if $slider->title_pos == 'below'}}ipsBox{{endif}}" {{if $row['id']>0}}id="fcc_{$row['id']}"{{endif}} style='{{if $slider->ticker && $slider->margin>0}}margin-right:{$slider->margin}px;{{endif}}'>
						{{if $slider->nolink != 1}}
							{{if $slider->viewlinkin == '3' && $slider->method != 'noauto' && $slider->method != 'gallery' && $slider->method != 'nexus'}}
								<a href="#" data-ipsDialog data-ipsDialog-forceReload data-ipsDialog-url="{url="app=fcontent&module=slider&controller=view&do=popup&id={$slider->id}&item={$row['id']}" csrf="true"}" data-ipsDialog-size='medium' title="{$row['title']}">
							{{else}}
								<a href="{$row['url']}" title="{$row['title']}" {{if $slider->viewlinkin == '2' || $row['newtab'] == 1}}target=_blank{{endif}}>
							{{endif}}
						{{endif}}
								
								{{if \IPS\Settings::i()->lazy_load_enabled}}
									<div class="fc_img_container" data-background-src="{$row['image']}" style="background-image:url('{expression="\IPS\Text\Parser::blankImage()"}'); height: 100%; max-height:{$slider->itemHeight}; width:100%; padding-bottom: {$radio}%;"></div>
								{{else}}
									<div class="fc_img_container" style="background-image:url('{$row['image']}'); height: 100%; max-height:{$slider->itemHeight}; width:100%; padding-bottom: {$radio}%;"></div>
								{{endif}}
								
								{{if $slider->showtitle == 1 && $row['title']}}
									<div class="sliderCaption {{if $slider->title_pos == 'inside'}}bx-caption{{else}}bx-caption2{{endif}}">
										{{if !$slider->ticker}}
											<span {{if $slider->truncate > 0}}data-ipsTruncate data-ipsTruncate-type="remove" data-ipsTruncate-size="{$slider->truncate} lines"{{endif}}>
												{$row['title']}
											</span>
										{{else}}
											<span>{$row['title']}</span>
										{{endif}}
									</div>
								{{endif}}
								
						{{if $slider->nolink != 1}}
							</a>
						{{endif}}
						
						{{if $slider->showtitle == 1 && $row['title'] && $slider->title_pos == 'below' && $row['author']}}
							<div class='fcAuthor ipsType_reset ipsType_medium ipsType_light ipsType_blendLinks'>
								{lang="byline_nodate" htmlsprintf="$row['author']->link()"} {datetime="$row['date']"}
							</div>
						{{endif}}
						
						{{if $slider->method == 'noauto' AND ( $slider->can('manage') OR ( $row['moderators'] AND \in_array( member.member_id, explode( ",", $row['moderators'] ) ) ) )}}
							<div class="modbutton">
								<a href='#' data-ipsdialog='' data-ipsDialog-url="{url="app=fcontent&module=slider&controller=view&do=manageslider&id={$slider->id}&item={$row['id']}"}" data-ipsdialog-size='narrow' data-ipsdialog-title='{lang="fcs_edit"}' data-ipsdialog-forcereload='true'>
									<i class="fa fa-pencil"></i>
								</a>
							</div>
						{{endif}}
					</li>	
				{{endforeach}}
			</ul>
			{{if $slider->method == 'noauto' AND $slider->can('manage')}}
				<div class="addbutton">
					<a href="{url="app=fcontent&module=slider&controller=view&id={$slider->id}"}" title='{lang="fcontent_manageslider"}'><i class="fa fa-cog"></i></a>
				</div>
			{{endif}}
		</div>
	</div>
</div>
{{\IPS\Output::i()->endBodyCode .= \IPS\Theme::i()->getTemplate( 'embed', 'fcontent', 'front' )->sliderConfig( $slider );}}

 

 

Na taki:

 

{{if is_array($data) && count($data) > 0}}
    {{$keys = array_rand($data, min(3, count($data)));}}
    {{$items = is_array($keys) ? array_map(function($k) use ($data) { return $data[$k]; }, $keys) : array($data[$keys]);}}

    {{$radio = round(($slider->img_h / $slider->img_w), 2) * 100;}}
    <div id="Fcontent_{$slider->id}" class="{{if $conf['fcontent_use_wrapper']}}ipsBox{{endif}}">
        {{if $slider->showname == 1}}
            {{if $conf['fcontent_use_wrapper']}}
                <h3 class="ipsWidget_title ipsType_reset">{$slider->title}</h3>		
            {{else}}
                <div class="ipsPageHeader ipsClearfix sliderTitle">
                    <h1 class="ipsType_pageTitle">{$slider->title}</h1>
                </div>
            {{endif}}
        {{endif}}

        <div class="{{if $conf['fcontent_use_wrapper']}}ipsPadding{{endif}}">
            <div class="fcGridWrapper" style="display: grid; grid-template-columns: 2fr 1fr; gap: 1rem;">
                {{foreach $items as $index => $row}}
                    <div class="{{if $index == 0}}fcLargeItem{{else}}fcSmallItem{{endif}}" style="{{if $index == 0}}grid-row: span 2;{{endif}}">
                        <a href="{$row['url']}" {{if $slider->viewlinkin == '2' || $row['newtab'] == 1}}target="_blank"{{endif}}>
                            <div style="background-image: url('{$row['image']}'); background-size: cover; background-position: center; aspect-ratio: 16/9; border-radius: 8px;"></div>
                            <h3 class="ipsType_sectionHead" style="margin-top: 0.5rem;">{$row['title']}</h3>
                        </a>
                    </div>
                {{endforeach}}
            </div>
        </div>
    </div>
{{else}}
    <p>Brak plików do wyświetlenia.</p>
{{endif}}

 

I daje jeden duży po prawej i dwa po lewej

image.thumb.png.a94866d2a470c91ad6a57f55fd85c1e2.png

 

Ale po odswiezeniu strony sa te same, dopiero po jakims czasie sie zmieniaja 😕
Ładowane sa z Cache z tego co kojarzę, jest możliwość ominięcia cache żeby co odświeżenie się zmieniały?

Dodałem na poczatku kodu cos takiego {{\IPS\Output::i()->pageCaching = FALSE;}}  ale nic to nie daje.

Edytowane przez Majster87

logo.png.519590789bae8db2833a4ecc09316aef.png

Zostaw suba, dużo pomożesz w tworzeniu: https://www.youtube.com/channel/UC8T8FoCAhg64dNIxQfCwhEQ

  • Manager
  • Rozwiązanie
Opublikowano

A jaki to widget? Bo są różne:

image.png

 

Zapewne masz ustawioną druga opcję (widoczne w trybie DEV). Pierwsza załatwia sprawę, ALE - całość operacji z widgetu jest wykonywana per wywołanie. Takie coś chcesz?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.