Page 1 of 1

Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 7:27 am
by jclouxy
Hallo Forumler!

Ich habe nach langem suchen aufgegeben. Ich nutze das Album-Modul und habe mir da aus dem cmotion-image-gallery-Template (ich glaub das war das ausgangstemplate) ein eigenenes zusammengeschustert.
Jetzt würde ich gerne das Vorschaubild für das Album überspringen können, also bei öffnen der Seite gleich den Inhalt des Albums - nachTemplate vorgaben - angezeigt bekommen.

Geht das irgendwie? Vielleicht gleich in der Seite in der "Einbindungscodezeile"  ;)?

Wenn mir da jemand helfen könnte, das wär absolut genial.

Danke
jclouxy

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 8:16 am
by nockenfell
Füge folgenden Code in die foreach Schlaufe der Albumbilder ein:

Code: Select all

{if $onepicture->thumbnail == $album->thumbnail}{php}continue{/php}{/if}
Hier der grössere Zusammenhang:

.....
{else}

{$album->name}

{if $pagecount>1}

<< 
{if $link.page.previous}< {/if}
page {$pagenumber}/{$pagecount}
{if $link.page.next} >{/if}
 >>

{/if}
{$album->comment}


{foreach from=$pictures item=picturesrow}

    {foreach from=$picturesrow item=onepicture}
{if $onepicture->thumbnail == $album->thumbnail}{php}continue{/php}{/if}


    picture}" rel="lytebox[{$album->name|escape:'html'}]" title="{if ($onepicture->comment != "")}{$onepicture->comment|escape:'html'}{/if}"> thumbnail}" alt="{$onepicture->name|escape:'html'} - {$onepicture->comment|escape:'html'}" title="{$onepicture->name|escape:'html'} - {$onepicture->comment|escape:'html'}" />

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 8:59 am
by jclouxy
Danke für den Tipp.
Das zeigt bei mir aber leider keine Wirkung.
Dadurch dass es nicht mehr das original ist hab ich nicht so ganz den Plan wo der Code in welcher Form stehen muss.

Kann mir evtl. jemand sagen wo ich das bei meinem Template einsetzen muss? ???

Hier meine Version:

Code: Select all

...
var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
</__script>

<!-- End gallery script -->
{/literal}

{* Album List *}
{if !$album}
<ul class="albumlist">
	{foreach from=$albums item=album}

	<li class="thumb">
 	<a href="{$album->link}">
<img src="{$album->thumbnail}" alt="{$album->name|escape:'html'}" title="{$album->name|escape:'html'}"{$album->autothumbnailsize} /></a>

<p class="albumname">{$album->name|escape:'html'}<br />
<span class="albumpicturecount">({$album->picturecount} images)</span><br />
<span class="albumcomment">{$album->comment}</span></p>
</li>
	{/foreach}
</ul>
{else}

{* Photo List *}
<p><span class="noprint">
{if $returnlink}<a href="{$returnlink}"><< Zurück zu den Fotoalben</a>{/if}</span></p>

{* Big Picture *}


<div class="largeview" align="left" style="border-top:1px solid #02377f; padding-top:5px;">
<div class="bigpicturenav">
{if $link.picture.previous}<a href="{$link.picture.previous}" title="Vorheriges Bild">< Zurück</a>{/if}
 <span class= "albumpicturecount">( Bild {$picturenumber}/{$picturecount} )</span> 
{if $link.picture.next}<a href="{$link.picture.next}" title="Nächstes Bild">Weiter ></a></div>{/if}
<p class="bigpicturecaption"><strong>{$picture->name}</strong>
{$picture->comment}
</p>
<img src="{$picture->picture}" alt="{$picture->name|escape:'html'} - {$picture->comment|escape:'html'}"  title="{$picture->name|escape:'html'}  - {$picture->comment|escape:'html'}" />

</div>

{* End Big Picture *}


{*CMotion gallery with thumbnail list*}


<div id="motioncontainer" style="position:relative;overflow:hidden;">

 <div id="motiongallery" style="position:absolute;left:0;top:0;white-space: nowrap; margin-top:10px;">

   <div id="trueContainer">

	{foreach from=$pictures item=picturesrow}

	    {foreach from=$picturesrow item=onepicture}
       
{* Change alt/title-tag to what you need. *}

	    <a href="{$onepicture->link}"  title="{$onepicture->name|escape:'html'} | {$picture->comment|escape:'html'}" onclick="document.getElementById('maincmotionpic').setAttribute('src', '{$onepicture->picture}');return false;"> <img src="{$onepicture->thumbnail}" alt="{$onepicture->name|escape:'html'}"/></a>

      {if ($onepicture->number==$picturenumber and !$picture)}{assign var=picture value=$onepicture}{/if}

	    {/foreach}

	{/foreach}
   </div>
 </div>
</div>

{/if}

<div style="clear:both"></div>

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 9:07 am
by owr_bgld
nockenfell wrote: {php}continue{/php}
{php}{/php} ist in der config standardmäßig deaktiviert und sollte auch nicht aktiviert werden. Bring also nichts. Also maximal "continue" in UDT speichern und diesen hier aufrufen?

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 9:13 am
by jclouxy
Also maximal "continue" in UDT speichern und diesen hier aufrufen?
?
Sorry, bin nicht so der Sich-auskenner. ;)

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 9:22 am
by jclouxy
Um eventuellen Missverständnissen vorzubeugen: Das Bild, das das Album anzeigt würde ich gerne überspringen lassen.

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 10:42 am
by owr_bgld
ahh - du meinst du willst nicht, dass die "Albenliste" mit genau dem Album angezeigt wird, sondern direkt die Vorschaubilder der Bilder in genau diesem Album.

Ich arbeite schon länger nicht mehr damit, da es schon lange keinen aktuellen Entwickler gibt (und ob es in absehbarer Zukunft einen geben wird?) - daher mal grundsätzlich, ob du dir nicht überlegst das "Gallery"-Modul zu nutzen.

Aber wieder zum Thema - schau mal in den Parametern (Modulhilfe) nach, dort müsste es die Möglichkeit geben, das Album direkt anzuzeigen - falls wir jetzt das selbe meinen.

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 10:57 am
by nockenfell
owr_web wrote:
nockenfell wrote: {php}continue{/php}
{php}{/php} ist in der config standardmäßig deaktiviert und sollte auch nicht aktiviert werden. Bring also nichts. Also maximal "continue" in UDT speichern und diesen hier aufrufen?
In Templates kannst du den {php} Tag sehr wohl brauchen. In der config.php kannst du den Tag für die Inhalte deaktivieren, was bei mir auch der Fall ist.

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 11:01 am
by nockenfell
jclouxy wrote: Danke für den Tipp.
Das zeigt bei mir aber leider keine Wirkung.
Dadurch dass es nicht mehr das original ist hab ich nicht so ganz den Plan wo der Code in welcher Form stehen muss.

Kann mir evtl. jemand sagen wo ich das bei meinem Template einsetzen muss? ???

Hier meine Version:

Code: Select all

...
Hier meine Version mit eingesetzter Abfrage:

Code: Select all


var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
</__script>

<!-- End gallery script -->
{/literal}

{* Album List *}
{if !$album}
<ul class="albumlist">
	{foreach from=$albums item=album}

	<li class="thumb">
 	<a href="{$album->link}">
<img src="{$album->thumbnail}" alt="{$album->name|escape:'html'}" title="{$album->name|escape:'html'}"{$album->autothumbnailsize} /></a>

<p class="albumname">{$album->name|escape:'html'}<br />
<span class="albumpicturecount">({$album->picturecount} images)</span><br />
<span class="albumcomment">{$album->comment}</span></p>
</li>
	{/foreach}
</ul>
{else}

{* Photo List *}
<p><span class="noprint">
{if $returnlink}<a href="{$returnlink}"><< Zurück zu den Fotoalben</a>{/if}</span></p>

{* Big Picture *}


<div class="largeview" align="left" style="border-top:1px solid #02377f; padding-top:5px;">
<div class="bigpicturenav">
{if $link.picture.previous}<a href="{$link.picture.previous}" title="Vorheriges Bild">< Zurück</a>{/if}
 <span class= "albumpicturecount">( Bild {$picturenumber}/{$picturecount} )</span> 
{if $link.picture.next}<a href="{$link.picture.next}" title="Nächstes Bild">Weiter ></a></div>{/if}
<p class="bigpicturecaption"><strong>{$picture->name}</strong>
{$picture->comment}
</p>
<img src="{$picture->picture}" alt="{$picture->name|escape:'html'} - {$picture->comment|escape:'html'}"  title="{$picture->name|escape:'html'}  - {$picture->comment|escape:'html'}" />

</div>

{* End Big Picture *}


{*CMotion gallery with thumbnail list*}


<div id="motioncontainer" style="position:relative;overflow:hidden;">

 <div id="motiongallery" style="position:absolute;left:0;top:0;white-space: nowrap; margin-top:10px;">

   <div id="trueContainer">

	{foreach from=$pictures item=picturesrow}

	    {foreach from=$picturesrow item=onepicture}
{* Das in der Vorschau des Albums verwendete Bild überspringen *}
       {if $onepicture->thumbnail == $album->thumbnail}{php}continue{/php}{/if}


{* Change alt/title-tag to what you need. *}

	    <a href="{$onepicture->link}"  title="{$onepicture->name|escape:'html'} | {$picture->comment|escape:'html'}" onclick="document.getElementById('maincmotionpic').setAttribute('src', '{$onepicture->picture}');return false;"> <img src="{$onepicture->thumbnail}" alt="{$onepicture->name|escape:'html'}"/></a>

      {if ($onepicture->number==$picturenumber and !$picture)}{assign var=picture value=$onepicture}{/if}

	    {/foreach}

	{/foreach}
   </div>
 </div>
</div>

{/if}

<div style="clear:both"></div>

Der Vorschlag von owr_web auf gallery umzusteigen hat schon was für sich. Die Gallery ist mit Abstand besser als Albums.

Hier kannst du das Vorschaubild ausblenden in dem du ein Bild als Vorschau definierst und dieses Bild danach deaktivierst.

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 12:04 pm
by mike-r
Du suchst nicht zufällig:

Code: Select all

{cms_module module='album' albums='ID'} 
?
"ID" hier die ID des jeweiligen Albums...

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 12:22 pm
by jclouxy
Danke für die Antworten.

@owr_web: Genau das meine Ich. Ich habe ein Album auf der Seite und möchte gerne ohne den Umweg (über das Beispielbild) gleich auf das eigentliche Album blenden.

... Ich müsste also in der config.php den Tag finden und aktivieren, dann funktioniert der Code erst, richtig?
Werde ich dann mal versuchen. Wär mir sehr recht wenn's geht, dann muss ich nicht auf Gallery umstellen. Das wäre zwar auch nicht schlimm, aber ich hab das Album so ziemlich wie ichs will. ;)

@mike-r: Nee, das ist nicht das Problem, aber danke.

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 12:51 pm
by owr_bgld
Dazu musst du nichts umstellen in der config - schau dir einfach mal die optionalen Parameter in der Modulhilfe zum Album an. Es funktioniert einfach über die Parameter (kannst sie ja hier reinkopieren in einen Thread) und ich schau sie mir demnächst an.

Aber ich würds mir überlegen - insbesondere, da Jos (Entwickler der Gallery) sehr aktiv ist hier und immer mit Rat und Tat zur Stelle.

Re: Album_Vorschaubild überspringen

Posted: Tue Jun 29, 2010 1:05 pm
by nockenfell
jclouxy wrote: @owr_web: Genau das meine Ich. Ich habe ein Album auf der Seite und möchte gerne ohne den Umweg (über das Beispielbild) gleich auf das eigentliche Album blenden.
Argh. Dann habe ich dich total falsch verstanden. Wohl nicht genau gelesen. Vergiss die Geschichte von mir.

Code: Select all

{cms_module module='album' albums='ID'} 
Das ist der richtige Code. Wenn du diesen auf einer Seite einfügst, wird direkt das Album mit der angegebenen ID angezeigt.

Re: Album_Vorschaubild überspringen

Posted: Wed Jun 30, 2010 6:54 am
by jclouxy
Oh, dann war das doch so einfach. :-[
Danke für eure Mühen!

@mike-r: Da lagst du also vollkommen richtig. ;)

Ich hab da nur die Beschreibung der Parameter falsch verstanden und deshalb nach einer anderen Lösung gesucht.

Danke nochmal!