Danland Theme 7.x - Banner auf allen Seiten ?
Eingetragen von Mellow (31)
am 17.08.2011 - 18:49 Uhr in
am 17.08.2011 - 18:49 Uhr in
Hallo,
ich spiele gerade ein wenig mit der Danland Theme herum. Und frage mich wie ich es anstellen kann,
das die Slideshowbanner auf allen erstellten Seiten zu sehen sind. Im Normalfall werden die nur auf der
"Startseite" angezeigt. Ich habe im Hanbuch und auch hier nachgeschaut, werde aber nicht recht schlau daraus. Kann mir das jemand so erklären das es auch ein Anfänger versteht ?.
Weiter würde mich nich interessieren wie ich in den Blockbereichen (Bottom) ein Hintergrundbild einfügen kann.
Für eure Hilfe bin ich sehr dankbar!
- Anmelden oder Registrieren um Kommentare zu schreiben
Das Danland Theme hat zwei
am 17.08.2011 - 19:34 Uhr
Das Danland Theme hat zwei unterschiedliche Template Files: page.tpl.php und front-page.tpl.php. Die Bannershow ist nur im Template für die Frontpage drin.
Beste Grüße
Werner
Und wie bekomm ich sie auf
am 17.08.2011 - 19:44 Uhr
Und wie bekomm ich sie auf die anderen Sites ?!?
Mellow schrieb Und wie bekomm
am 17.08.2011 - 19:46 Uhr
Und wie bekomm ich sie auf die anderen Sites ?!?
"Copy & Paste" ... vielleicht?
Copy & paste war mir schon
am 17.08.2011 - 19:54 Uhr
Copy & paste war mir schon klar ^^ Danke.
Aber bei mir im danland ordner ist nur die page.tpl zu finden.
front-page.tpl.php. gibts da leider nicht.
Ok, in der 6er Veersion waren
am 17.08.2011 - 20:15 Uhr
Ok, in der 6er Veersion waren es noch zwei Templates. Jetzt ist es im Page-Template über eine If-Abfrage gelöst (if (is_front) ....)
Beste Grüße
Werner
Habs gefunden, Danke!
am 18.08.2011 - 07:06 Uhr
Habs gefunden, Danke!
Slideshow
am 23.08.2011 - 01:27 Uhr
Hallo,
mich würde interessieren wie ich es jetzt hin bekomme, dass ich auf der Startseite die Slideshow und auf den Unterseite ein jeweils passendes Bild einbinden kann...
Liebe Grüße
Kay
@ kay ->
am 23.08.2011 - 07:39 Uhr
So wie es hier steht, ist die Show ja auf der Startseite von Haus auf. Bilder kannst Du in einem Block einfügen und dieses auf den anderen Seiten anstelle der Slideshow einblenden lassen.
okay Danke, ich werde mein
am 23.08.2011 - 12:28 Uhr
okay Danke, ich werde mein glück mal probieren - ich bin quasi blutiger Anfänger ;)
wie Steuer ich denn die verschiedenen Unterseiten an?
hmm ich komme nicht so
am 23.08.2011 - 20:08 Uhr
hmm ich komme nicht so wirklich weiter, woran erkenne ich denn wo ich die Banner für die Unterseiten einfügen muss bzw. wie ich die if Abfrage schreiben muss... wäre echt cool wenn mir jemand dabei helfen könnte! Das ist mein erstes Theming bzw. meine erste Seite überhaupt und bin da leider etwas überfragt :P
Werner hat ja weiter die IF
am 23.08.2011 - 20:50 Uhr
Werner hat ja weiter die IF Anweisung für den Banner gefunden hat ( http://www.drupalcenter.de/node/36957#comment-131369 ) da kannst Du sicherlich eine ELSE einfügen die eine Region aufruft.
Die entsprechende Region weist Du Deinem Theme zu und dann solltest Du über die Blockverwaltung entsprechende Blöcke, die Deine Bilder beinhalten dieser Region zuweisen können.
Alternativ könntest Du auch eine page.tpl.php und eine page-front.tpl.php nutzen. Letztere Datei müsstest Du eben aus der aktuellen page.tpl.php erstellen. Dann sparst Du Dir die IF ELSE Schleife und auch die Region ist vielleicht leichter zu implementieren.
Und wegen der Feinheiten hilft Dir Google sicherlich weiter und auch bei Drupal.org gibts eine sehr ausführliche Dokumentation zum Theming. Und wenn Du ein wenig PHP kannst, sollte das hinzubekommen sein.
ich bedanke mich recht
am 23.08.2011 - 21:39 Uhr
ich bedanke mich recht herzlich :)
Dann werde ich das mal mit den Schleifen angehen!
Ich habe gerade versucht ein Bild einzubinden... es erschien mir leicht aber so geht es nicht...
]<img src="/images/header/jeep_logo_web.png" width=150 height=115 alt="Jeep" align="right"/>
es wird nur der alternativ Text angezeigt...
Ich komme mir schon blöd vor das ich sowas Frage :)
Na ja ... da stimmt dann der
am 23.08.2011 - 22:17 Uhr
Na ja ... da stimmt dann der Bilderpfad zum Image nicht. Installier Dir den Firebug zum Firefox, da kannst Du das zum einen erkennen und Du kannst auch gleich experimentieren, wie der Pfad aussehen soll. Wenn Du den noch nicht nutzt, Du wirst ihn eh benötigen.
Der Pfad wird wohl mit src="sites/ beginnen!
Danke für die Hilfe!Firebug
am 24.08.2011 - 16:18 Uhr
Danke für die Hilfe!
Firebug habe ich schon drauf - danke!
Also es lag am Pfad, das hatte ich auch schon vermutet, dachte aber dass es wie bei der Slideshow im gleichen Verzeichnis losgehen würde in dem auch die page.tpl liegt!
jetzt gehts ;)
edit: es geht aber leider nur auf zwei von den drei Seiten "Startseite, Unternehmen und News!?! warum denn das?
das hier ist der verwendete Code...
<div id="logo-wrapper">
<div class="jeep_logo_web">
<img src="sites/all/themes/danland_mod/images/header/jeep_logo_web.png" alt="Jeep" align="right" width="80"/>
</div>
</div>
kay schrieb edit: es geht
am 24.08.2011 - 16:28 Uhr
edit: es geht aber leider nur auf zwei von den drei Seiten "Startseite, Unternehmen und News!?! warum denn das?
das hier ist der verwendete Code...
<div id="logo-wrapper">
<div class="jeep_logo_web">
<img src="sites/all/themes/danland_mod/images/header/jeep_logo_web.png" alt="Jeep" align="right" width="80"/>
</div>
</div>
Ich denke, daß die Pfade sich auf den Seiten ändern. Du kannst jetzt natürlich einen absoluten Pfad zum Bild eintragen, oder Du versuchst es einmal wie folgt:
<div id="logo-wrapper">
<div class="jeep_logo_web">
<?php print theme_image('sites/all/themes/danland_mod/images/header/jeep_logo_web.png', 'Jeep', 'Jeep', null, false); ?>
</div>
</div>
Ich weiss jetzt nur nicht, ob es theme_image auch in Drupal 7 gibt? Probiers einfach mal aus, oder vielleicht kennst Du die Funktion für D7?
Slideshowbanner auf allen erstellten Seiten
am 24.08.2011 - 16:56 Uhr
Mellow,
wenn Du da eine Lösung gefunden hast, poste sie doch bitte hier ins Forum.
Mit dem Danland Theme habe ich vor einem Vierteljahr auch geliebäugelt. Ich bin aber aus dem gleichen Grund nicht drauf eingestiegen, vor dem Du jetzt stehst; zumal das Thema sich auf den Folgeseiten, die sich dem Leser öffnen, sehr blogartig darstellt.
Die Frontseite sieht sehr attraktiv aus, während der Rest ohne dem Slider nicht viel her macht.
Also, es würde mich freuen, darüber noch einiges hier im Thread zu hören!
Grüße aus Berlin ==> Drupi
sich von der zweiten Seite trennen
am 24.08.2011 - 17:09 Uhr
Nachtrag und Tipp für Mellow:
Es ist nun schon eine Weile her, dass ich mich mit dem Danland Theme beschäftigt habe. Ich habe mal auf meinen externen Festplatten herum gekramt und noch ein paar Notizen gefunden.
Damals war ich -um dieses Problem mit dem nur auf der Frontseite verwendbaren Slider zu umgehen- soweit, die pagetemplate engine zu löschen und nur mit der frontpagetemplate engine für alle neuen Seiten zu arbeiten. Es macht wohl mehr Sinn und geht in der Verwirklichung schneller, sich seine Subseiten selbst zu entwickeln, da man ja meist ohnedies eine Reihe Änderungen auch für die Subseite durchführen muss; da ist die Lösung des Ableitens von der Frontpage (die dann ja gewissermaßen keine mehr ist ;-) unkomplizierter und schneller. Außerdem bist Du da dann viel flexibler, etwas Eigenes zu entwickeln. Allerdings sind da eine Reihe php-Änderungen Voraussetzung.
Drupi
Thoor schrieb Ich weiss jetzt
am 24.08.2011 - 17:10 Uhr
Ich weiss jetzt nur nicht, ob es theme_image auch in Drupal 7 gibt? Probiers einfach mal aus, oder vielleicht kennst Du die Funktion für D7?
hmm dem scheint nicht so zu sein... Leider kenne ich die Funktion für D7 nicht... Alles was ich weiß stammt vom ausprobieren und Lernvideos ;)
aus dem Folgenden Code werde ich auch nicht schlau... eigentlich müsste hier ja eine solche Funktion eingebaut sein weil das Logo ja auf allen Seiten zu sehen ist...
<div id="logo-wrapper">
<div class="logo">
<a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><img src="<?php print $logo ?>" alt="<?php print t('Home') ?>" /></a>
</div>
</div>
Es gibt diese Funktion noch
am 24.08.2011 - 17:55 Uhr
Es gibt diese Funktion noch für Drupal 7 siehe hier.
Beste Grüße
Werner
kay schriebDann werde ich
am 24.08.2011 - 18:40 Uhr
Dann werde ich das mal mit den Schleifen angehen!
Warum so kompliziert, wenn es viel einfacher geht? Also, wenn ich's richtig verstanden habe, willst du den Slider auf der Startseite behalten und auf den Unterseiten eigene Banner anzeigen. Dazu musst du einfach die Banner in einen neuen Block packen (könnte man per Views auch automatisiert machen lassen) und diesen in der Blockverwaltung einer Region zuweisen. Bei Danland würde sich die Region Content_Top anbieten, wenn du die Banner oberhalb des Contents anzeigen lassen möchtest (vermute ich mal). Über die Ansichtseinstellung des Block kannst du zusätzlich kontrollieren, wo dieser Banner-Block angezeigt wird und wo nicht. Also z.B. nicht auf der Impressumseite und der Startseite.
wla schrieb Es gibt diese
am 24.08.2011 - 20:53 Uhr
Es gibt diese Funktion noch für Drupal 7 siehe hier.
Beste Grüße
Werner
Auf dieser Seite war ich auch schon und habe Folgendes gemacht...
<div id="logo-wrapper">
<div class="renault_logo_web">
<?php print theme_image('sites/all/themes/danland_mod/images/header/renault_logo_web.png', 'Renault', 'Renault', null, false); ?>
</div>
</div>
Daraufhin diese Fehlermeldung:
Recoverable fatal error: Argument 1 passed to drupal_attributes() must be an array, string given, called in C:\Users\Design\Desktop\witzel\includes\theme.inc on line 1521 and defined in drupal_attributes() (Zeile 2262 von C:\Users\Design\Desktop\witzel\includes\common.inc).
Ich kann dort keinen Fehler erkennen :(
@Anton
Super Danke! das werde ich mal ausprobieren! Melde mich wenn ich es hinbekommen habe oder halt versagt habe :D
Bei Drupal 7 hat sich der
am 24.08.2011 - 21:16 Uhr
Bei Drupal 7 hat sich der Aufruf geändert, Du mußt einen Array übergeben mit key=>value Paaren, wie Du auf der verlinkten Seite sehen kannst. In Deinem Code übergibst Du nur normale Argumente.
Beste Grüße
Werner
Das hier? <?phpfunction
am 24.08.2011 - 21:22 Uhr
Das hier?
<?php
function theme_image($variables) {
$attributes = $variables['attributes'];
$attributes['src'] = file_create_url($variables['path']);
foreach (array('width', 'height', 'alt', 'title') as $key) {
if (isset($variables[$key])) {
$attributes[$key] = $variables[$key];
}
}
return '<img' . drupal_attributes($attributes) . ' />';
}
?>
Nein, das
am 24.08.2011 - 21:30 Uhr
Nein, das hier:
Parameters
$variables An associative array containing:
Beste Grüße
Werner
hehe ich dachte daran hätte
am 24.08.2011 - 22:35 Uhr
hehe ich dachte daran hätte ich mich gehalten... aber dann schaue ich es mir noch einmal an!
Danke!
edit:
so sieht jetzt mein Code aus:
<?php print theme_image('$GLOBALS', 'Renault', 'Renault', null, false);
function base_path('/sites/all/themes/danland_mod/images/header/renault_logo_web.png') {
return $GLOBALS['base_path'];
}
?>
geht nicht :P
Ich hatte es jetzt so verstanden das ich der base_path den Pfad zuordnen muss und den dann halt über die Variable $GLOBALS in die theme_image einfüge... Falsch gedacht :/
Ich habe einfach zu wenig ahnung davon...
Anton schrieb kay
am 24.08.2011 - 22:46 Uhr
Dann werde ich das mal mit den Schleifen angehen!
Warum so kompliziert, wenn es viel einfacher geht? Also, wenn ich's richtig verstanden habe, willst du den Slider auf der Startseite behalten und auf den Unterseiten eigene Banner anzeigen. Dazu musst du einfach die Banner in einen neuen Block packen (könnte man per Views auch automatisiert machen lassen) und diesen in der Blockverwaltung einer Region zuweisen. Bei Danland würde sich die Region Content_Top anbieten, wenn du die Banner oberhalb des Contents anzeigen lassen möchtest (vermute ich mal). Über die Ansichtseinstellung des Block kannst du zusätzlich kontrollieren, wo dieser Banner-Block angezeigt wird und wo nicht. Also z.B. nicht auf der Impressumseite und der Startseite.
hast du so etwas schon einmal gemacht? Ich schaue mir gerade ein Tutorial zum Theme View an, finde bis jetzt aber nicht das wonach ich suche ;)
Wenn du sowas schon einmal gemacht hast könntest du das bitte einmal beschreiben - wenn es nicht zu viel Zeit in Anspruch nimmt :)
Versuchs doch mal so:<div
am 24.08.2011 - 22:51 Uhr
Versuchs doch mal so:
<div id="logo-wrapper">
<div class="renault_logo_web">
<?php print theme_image(array(
'path' =>'sites/all/themes/danland_mod/images/header/renault_logo_web.png',
'alt' => 'Renault',
'title' => 'Renault')); ?>
</div>
</div>
Beste Grüße
Werner
Jetzt sehe ich es auf allen
am 24.08.2011 - 23:00 Uhr
Jetzt sehe ich es auf allen Seiten allerdings auch diese Fehlermeldung:
Notice: Undefined index: attributes in theme_image() (Zeile 1511 von C:\Users\Design\Desktop\witzel\includes\theme.inc).
kay schriebhast du so etwas
am 25.08.2011 - 07:21 Uhr
hast du so etwas schon einmal gemacht? Ich schaue mir gerade ein Tutorial zum Theme View an, finde bis jetzt aber nicht das wonach ich suche
Views ist nicht notwendig (das wäre sozusagen die Luxus-Variante für Fortgeschrittene), du kannst auch einfach den HTML-Code zur Anzeige des Banners als Inhalt in einen neu erstellten Block schreiben, diesen Block der Region Content_Top zuweisen und das war es schon.
Dann lass das title-Attribute
am 25.08.2011 - 10:13 Uhr
Dann lass das title-Attribute weg. Kann sein, daß es das nicht mehr gibt. Ich selbst arbeite noch nicht mit Drupal 7 und habe theme_image undter D7 noch nicht getested.
Beste Grüße
Werner
Danke! -> theme_image
am 25.08.2011 - 15:32 Uhr
Okay Danke ihr beiden werde die Vorschläge mal Umsetzen und mich dann Melden!
@wla
Habe alle titel-Atribute entfernt, der Fehler besteht weiterhin :(
Gibt es Jemanden der das Atribut theme_image unter D7 benutzt und mir helfen kann?
LG
Kaay
Screenshot
am 25.08.2011 - 16:07 Uhr
Screenshot, Input-Format auf Full-HTML stellen, den Block der Region zuweisen, fertig.
Anton - The Best
am 25.08.2011 - 22:42 Uhr
....den Block der Region zuweisen, fertig.
Einfach Klasse!
Warum nicht umständlich, wenns einfach geht? :-)
==> Drupi
....@ Drupi.Ich weiß nicht
am 26.08.2011 - 16:43 Uhr
....
@ Drupi.
Ich weiß nicht ob es jetzt noch von Relevanz für dich ist, da es netterweise oben ja schon von "wla" (Werner glaub ich ^^) beantwortet wurde.
Habs noch mal eben rausgesucht. (ausgehend von der original page.tpl.php der danland-7.x-1.0 Theme).
Du musst in Zeile 70 "
<?php
if($is_front):
?>
<?php
endif;
?>
Bei mir wird der Slider jetzt aus allen erstellten Seiten angezeigt.
Mellow schrieb ... Aber eine
am 26.08.2011 - 16:27 Uhr
... Aber eine andere Frage hätte ich noch... Ich frag mal hier, da muss nicht noch ein neuer Beitrag her.
Das siehst Du leider falsch! -> http://www.drupalcenter.de/verhaltensregeln#nr_4
Thoor schrieb Mellow
am 26.08.2011 - 16:44 Uhr
... Aber eine andere Frage hätte ich noch... Ich frag mal hier, da muss nicht noch ein neuer Beitrag her.
Das siehst Du leider falsch! -> http://www.drupalcenter.de/verhaltensregeln#nr_4
Mach mal einen neuen Beitrag und habs editiert....
Slideranzeige aus allen erstellten Seiten
am 27.08.2011 - 00:52 Uhr
...ob es jetzt noch von Relevanz für dich ist
Klar ist es das, Mellow.
Ich habe Dich darum ja ausdrücklich gebeten.
Und nun habe ich Deine Antwort. Danke schön!
Am Wochenende werde ich das Danland Theme nochmal aufspielen. Mit dem Slider auf allen Seiten muss es gut aussehen. Ohne gefiel mir es überhaupt nicht, wie ich ja schon sagte. Ich glaube, dass Du das genauso siehst?
Da sehen die Folgeseiten so "nackt" und monoton aus. Das kommt mir bei solchen Lösungen immer so vor, dass Erwartungen auf der Startseite hinsichtlich der Optik geweckt werden und die dann im Inneren eines Projekts nicht bestätigt werden.
Grüße aus Berlin ==> Drupi
Anton schrieb Screenshot,
am 28.08.2011 - 12:01 Uhr
Screenshot, Input-Format auf Full-HTML stellen, den Block der Region zuweisen, fertig.
wo finde ich denn die Namen meiner Unterseiten? front ist ja die Startseite, wenn ich aber jetzt Unternehmen einfüge erscheint der Block auf keiner meiner Seiten...
Edit:
also das Banner habe ich jetzt da wo ich ihn haben will. Der Pfad war content/unternehmen
LG
Kay
Bitte Problem verdeutlichen
am 28.08.2011 - 12:03 Uhr
wo finde ich denn die Namen meiner Unterseiten? front ist ja die Startseite, wenn ich aber jetzt Unternehmen einfüge erscheint der Block auf keiner meiner Seiten...
Ich verstehe da jetzt die Zusammenhänge nicht, Anton.
Kannst Du die Frage nochmal stellen - etwas anders formuliert vielleicht?
Ich führe das nämlich gerade im Moment bei mir durch und alles klappt ganz ausgezeichnet :-)
Und zwar, wenn man die beiden Zeilen im Template exkommentiert, wie Mellow geschrieben hat:
....in Zeile 70
<?php
if($is_front):
?>
und in Zeile 89
<?php
endif;
?>
Einziger Fehler: der Slider zeigt nur immer das erste Bild der Slideshow an.
Aber das ist sicher ein Fehler irgendwelcher Einstellungen von mir.
Sonntagsgrüße aus Berlin ==> Drupi
@Drupi Ich will ja nicht den
am 28.08.2011 - 12:06 Uhr
@Drupi
Ich will ja nicht den Slider auf allen Seiten haben sondern auf jeder Seite einen Anderen...
Das stellte sich mir die Frage wo ich die Bezeichnungen der Seiten finden kann wie z.B. front für die Startseite...
Den Block, welchen ich mit Anton's Hilfe erstellt habe kann ich durch "content/unternehmen" der entsprechenden Seite zuweisen.
Dies kann ich aber nicht mit dem Slider machen:
<?php if($is_content/unternehmen): ?>
Da stellt sich mir jetzt die Frage wo ich den Namen der Unterseite "Unternehmen" einsehen kann, um den Slider für diese Seite anpassen zu können!
LG
Kay
Modul verwenden
am 28.08.2011 - 12:59 Uhr
Ich will ja nicht den Slider auf allen Seiten haben sondern auf jeder Seite einen Anderen...
Ich verstehe, Kay.
Interessant, was Du da versuchst.
Im Moment beschäftige ich mich gerade mit CCK und View.
Bei meiner Webite bin ich o h n e Module ausgekommen; habe also mit CSS Überschreibungen gearbeitet und ich bin die Module betreffend nicht so bewandert.
Ich befürchte mit Moduleinsatz immer eine Verlangsamung des ganzen Contentmanagementsystems, weshalb ich Module einzusetzen vermeide, wenn es irgendwie anders geht. Notfalls tut es manchmal auch eine kleine Veränderung in einem Template.
Aber was ich da gerade unter CCK in Verbindung mit Views gelesen habe, könnte Dir unter Umständen helfen. Sicher ist hier jemand, der sich gut mit CCK auskennt; insbesondere, wenn er mit Drupal 6.x arbeitet, in dem noch nicht soviele Anteile des Modules im Core übernommen wurden.
Ich vermute nämlich mal, dass es nicht nur möglich ist, Grafiken zuzuordnen, sondern dass auch ein Slider als Ganzes damit auf einer entsprechenden Seite platziert werden kann - vielmehr der Teil des Contents eines Sliders, den du auf dieser entsprechenden Seite sichtbar machen möchtest (Fieldzuweisungen?).
Das ist doch wohl das Problem, das Du im Moment angehst, oder?
Die Slideshows zu wechseln ist eine attraktive Variante! :-)
Darüber habe ich noch garnicht nachgedacht.
Drupi
Danland mit varibler Slideshow: Cycle Plugins für Effekte
am 28.08.2011 - 15:32 Uhr
Kay, vielleicht hilft Dir dies ein Stück weiter.
Das ist allerdings kein Drupal Modul, kann aber eingearbeitet werden.
Es handelt sich um eine jQuery Zusammenstellung mit Effekten in mannigfaltiger Art.
Hier ein Intermediate Beispiel und ein Advanced Beispiel
Da werden die auf einer Seite darzustellenden Pakete als
div id="slideshow" img src="picture1". img src="picture2", img src="picture3" usw. zusammengefasst und das Div der jeweiligen Seite zugeordnet.
Das müsste bei Dir doch genauso gehen, Kay?
In diesem Fall hast du die Slideshow auf allen Seiten platziert und das jeweilige Paket zugeordnet (und wie ich das auch mache sparst Du Module :-)
Grüße ==> Drupi
@ alle
Hinter folgendem Link befindet sich der Download des CycleMasters (....nicht die Lite Version wählen)
mit Anleitung zum Einbau in ein CMS
Die Funktion:
$('#slideshow').cycle('command');
Die Strings:
'pause' // pauses the slideshow, slideshow can be resumed with 'resume' command
'resume' // resumes a paused slideshow
'toggle' // toggles the pause/resume state of the slideshow
'next' // advances slideshow to next slide
'prev' // advances slideshow to previous slide
'stop' // stops the slideshow
'destroy' // stops the slideshow and unbinds all events
Die Optionen zum Überschreiben (die weit vielfältiger sind, als bei den herkömmlichen Drupalmodulen):
$.fn.cycle.defaults = {
activePagerClass: 'activeSlide', // class name used for the active pager element
after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling
animIn: null, // properties that define how the slide animates in
animOut: null, // properties that define how the slide animates out
autostop: 0, // true to end slideshow after X transitions (where X == slide count)
autostopCount: 0, // number of transitions (optionally used with autostop to define X)
backwards: false, // true to start slideshow at last slide and move backwards through the stack
before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE)
cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
containerResize: 1, // resize container to fit largest slide
continuous: 0, // true to start next transition immediately after current one completes
cssAfter: null, // properties that defined the state of the slide after transitioning out
cssBefore: null, // properties that define the initial state of the slide before transitioning in
delay: 0, // additional delay (in ms) for first transition (hint: can be negative)
easeIn: null, // easing for "in" transition
easeOut: null, // easing for "out" transition
easing: null, // easing method for both in and out transitions
end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
fit: 0, // force slides to fit container
fx: 'fade',// name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle')
fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
height: 'auto',// container height (if the 'fit' option is true, the slides will be set to this height as well)
manualTrump: true, // causes manual transition to stop an active transition instead of being ignored
metaAttr: 'cycle',// data- attribute that holds the option data for the slideshow
next: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide
nowrap: 0, // true to prevent slideshow from wrapping
onPagerEvent: null, // callback fn for pager events: function(zeroBasedSlideIndex, slideElement)
onPrevNextEvent: null,// callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement)
pager: null, // element, jQuery object, or jQuery selector string for the element to use as pager container
pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement)
pagerEvent: 'click.cycle', // name of event which drives the pager navigation
pause: 0, // true to enable "pause on hover"
pauseOnPagerHover: 0, // true to pause when hovering over pager link
prev: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for previous slide
prevNextEvent:'click.cycle',// event which drives the manual transition to the previous or next slide
random: 0, // true for random, false for sequence (not applicable to shuffle fx)
randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random
requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
requeueTimeout: 250, // ms delay for requeue
rev: 0, // causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle)
shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 }
slideExpr: null, // expression for selecting slides (if something other than all children is required)
slideResize: 1, // force slide width/height to fixed size before every transition
speed: 1000, // speed of the transition (any valid fx speed value)
speedIn: null, // speed of the 'in' transition
speedOut: null, // speed of the 'out' transition
startingSlide: 0, // zero-based index of the first slide to be displayed
sync: 1, // true if in/out transitions should occur simultaneously
timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance)
timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag)
updateActivePagerLink: null, // callback fn invoked to update the active pager link (adds/removes activePagerClass style)
width: null // container width (if the 'fit' option is true, the slides will be set to this width as well)
};
Damit wird das Danland Theme in seiner Slideshow viel variabler.
Vielleicht kann ja jemand, der sich für Slideshows interessiert, dies alles in ein Drupalmodul einbauen :-)
Grüße ==> Drupi
@Drupi erst einmal vielen
am 28.08.2011 - 16:16 Uhr
@Drupi
erst einmal vielen Dank für deine Ausführung ;)
Ich habe ein Plugin für View entdeckt welches es ermöglicht Slideshow's zu generieren "Views Slideshow". Dieses Modul benötigt die "libraries" und basiert auf dem von dir genannten JQuery.
Soweit so gut, ich habe nur leider keinen blassen Schimmer wie ich JQuery in Drupal einbinden kann...
Diese Variante währe sicherlich die Luxus Version.
Meine eigentliche Frage zielte darum auf die "Namen" der Unterseiten wie z,B. "Unternehmen" hin, damit ich einfach die vorhandene Slideshow den Unterseiten zuweisen und Anpassen kann...
Also wenn jemand weiß wie man entweder JQuery einbindet oder aber weiß wo ich die Bezeichnungen der Unterseiten auslesen kann und diese dann der Slideshow zuweisen kann und das dann auch noch netter weise Posten könnte wäre ich sehr Dankbar!
Bis jetzt ist es mir nur gelungen den Block mit dem Bild durch "content/unternehmen" der Unterseite "Unternehmen" zuzuordnen.
Leider reicht die Angabe des Pfades bei der PHP-Abfrage durch die if schleife nicht aus um die Slideshow auf die Unterseite "Unternehmen" zu beschränken.
<?php if($is_front): ?>
beschreibt die Schleife für die Startseite
<?php if($is_content/unternehmen): ?>
geht leider nicht... von daher brauche ich den "Namen" der Unterseite "Unternehmen"
Liebe Grüße
Kay
Bilder der Seite zuweisen
am 28.08.2011 - 17:04 Uhr
Ich habe zwar nicht viel Ahnung von den Modulen, aber mit Slideshows habe ich (nicht nur in Drupal) herum experimentiert.
Nebenbei bemerkt ist der Ken Burns Effekt das Ziel, das ich für meine Seite erreichen will, was mir unter Drupal Version 7 jedoch noch nicht gelungen ist, den einzubinden (falls der Dir etwas sagt - Ken Burns produziert ein eindrucksvolles Überblenden mit Fokussieren von Teilbereichen eines jeweiligen Motivs :-).
Was Dein Problem betrifft, Kay, fragst Du, wo Du die Bezeichnungen der Unterseiten auslesen kannst, um diese dann der Slideshow zuweisen zu können.
Siehst Du das nicht falsch herum?
Musst Du nicht umgekehrt dem Block, der der Seite zugewiesen wird, die Bilder zuordnen, die dann von der Slideshow auf dieser Seite gesteuert werden sollen?
So meine ich jedenfalls, wie es bei mir funktioniert. Ansonsten muss ich da passen.
Wie die Slideshow eingebunden ist, siehst Du doch im Danland Theme. Im Grunde geht es doch nur noch darum, die Parts der zuzuordnenden Bilder dem entsprechenden Block zuzuweisen.
Noch eine Idee: Gib doch der Seite einfach einen einmaligen Inhaltstyp, (= contenttype mit fields) und weise die Bilder diesem Inhaltstyp zu.
Am besten als Paket in { }, so wie Rick Shane das mit CycleMasters macht.
Drupi
Nachtrag für Kay:
Dieses Modul benötigt die "libraries" und basiert auf dem von dir genannten JQuery.
....für Drupal 7 sind das die "libraries api". Die jQueries brauchst Du da nicht einrichten. Je nachdem, was Du für Module verwendest, werden die generiert. Wenn der Ordner schon existiert, im entsprechenden Ordner; wenn er nicht existiert wird ein Ordner eingerichtet. Wie das bei Drupal 6.x ist weiß ich nicht. Ich arbeite nur mit Drupal 7.7
hmm Drupi es kann sein, dass
am 28.08.2011 - 17:08 Uhr
hmm Drupi es kann sein, dass du recht hast. Leider reicht mein wissen noch nicht aus um mir diese Frage selbst zu beantworten weil das meine erste Seite ist, die ich überhaupt erstelle...
Also das hier ist ja der Code der Slideshow auf der Startseite:
<?php if($is_front): ?>
<div id="slideshow-wrapper">
<div class="slideshow-inner">
<div id="slideshow-preface">
<?php if ($page['preface']): ?>
<div id="preface">
<?php print render ($page['preface']); ?>
</div><!-- end preface -->
<?php endif; ?>
</div>
<?php if ($page['highlighted']) : ?><div id="slideshow-bottom">
<div id="mission"><?php print render ($page['highlighted']); ?></div></div><?php endif; ?>
<div class="slideshow">
<img src="<?php print $base_path . $directory; ?>/images/slideshows/startseite/c8_web.jpg" width="950" height="355" alt="slideshow 1"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/startseite/jeep_web.jpg" width="950" height="355" alt="slideshow 2"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/startseite/megane_rs_web.jpg" width="950" height="355" alt="slideshow 3"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/startseite/transporter_web.jpg" width="950" height="355" alt="slideshow 4"/>
</div>
</div>
</div>
<?php endif; ?>
Ich dachte ich könnte jetzt einfach in die If-Abfrage die Bezeichnung der entsprechenden Unterseite eintragen:
<?php if($is_(z.b.: Unternehmen): ?>
Geht das? Dafür brauche ich die Bezeichnung der Unterseiten...
Weil in der aktuellen Slideshow durch
<?php if($is_front): ?>
die anzeige der Slideshow auf die Startseite beschränkt wird, müsste man sie ja auch auf andere Seiten beschränken können - oder nicht?Benennung der Unterseiten
am 28.08.2011 - 17:36 Uhr
Also, da das bei mir ganz anders aufgebaut ist, Kay, möchte ich da keinen Rat geben, der Dich in die Irre führt.
Weil in der aktuellen Slideshow durch <?php if($is_front): ?> die anzeige der Slideshow auf die Startseite beschränkt wird, müsste man sie ja auch auf andere Seiten beschränken können - oder nicht?
Natürlich. Was Du da einträgst ist ja genau die Zuweisung, von der ich gesprochen habe. Da hast Du doch im Grunde alles, was Du brauchst.
Nur ist mir das mit den Unterseiten nicht so ganz klar. Was hast Du denn nun mit den "Namen" für die Unterseiten?
Hast Du das Modul "path" aktiviert? Wenn nicht, dann aktiviere das mal.
Da kannst Du jeder Seite doch einen Namen geben!? Ganz wie Du willst.
Benenne doch dort die entsprechende Seite z.B. mit dem Namen des Unternehmens, z.B. unternehmen o h n e Slashs, sonst funktioniert es nicht!
Dieser Name taucht dann als Kurzpfad als letzte Stelle in Deiner URL auf.
Und den gibst Du als Seitenbezeichnung ein (in obigem Fall statt /startseite/ trägst Du ein: /unternehmen/ ).
Wenn das alles ist, was Dich bedrückt, dürfte Dein Problem damit gelöst sein :-)
Zu dem php Code kann ich allerdings nicht viel sagen, weil der sich von Slideshowvariante zu Slideshowvariante unterscheidet.
Ich hoffe, das klappt so. Heute Nacht bin ich wieder online.
Grüße ==> Drupi
Also $is_front ist eine
am 28.08.2011 - 18:13 Uhr
Also $is_front ist eine Variable, die im page.tpl.php-File zur Verfügung steht (mal die Kommentar-Zeilen am Anfang dieser Datei lesen). Damit ist die Abfrage
<?php if($is_front): ?>
gebaut. Für andere Seiten geht das so nicht. Wenn die Seiten nicht node/### heißen, sind es Drupal-interne Aliase. An deren Bestandteile kommt man so:Der Aufruf der Seite sei "deine.domain.de/das/ist/ein/Beispiel" und Drupal ist im obersten Verzeichnis installiert (also nicht in einem Unterverzeichnis). Dann läßt sich der Pfad so aufspalten:
$path = drupal_get_path_alias($_GET['q']); //get alias of URL
$path = explode('/', $path); //break path into an array
Dann beinhaltet das Array $path die einzelnen Bestandteile:
$path[0] ist 'das', $path[1] ist 'ist', $path[1] ist 'ein', $path[3] ist 'Beispiel',
.Wenn Du also eine Seite "Unternehmen" hast, dann ist das in der Zelle 0 des Arrays zu finden. Also kannst Du nach den beiden vorherigen Zeilen eine Abfrage benutzen
if ($path[0] == 'Unternehmen') :
Achtung: bei einem Unix-Server kommt es hierbei sehr wohl auf richtige Groß/Klein-Schreibung an.
Ich hoffe, das hilft Dir schon mal ein Stück weiter.
Beste Grüße
Werner
@ wla, @ kay
am 28.08.2011 - 23:33 Uhr
Also so sieht das bei mir als Blickfang auf allen Seiten des Projekts aus (als Startseite wird die Seite täglich gewechselt, sodass immer eine andere Seite als Frontpage, bzw. als Startseite per Hand konfiguriert wird):
<?php // if($is_front): ?> <!-- ERSCHEINT NUN AUF ALLEN NEU ERSTELLTEN SEITEN -->
<div id="slideshow-wrapper">
<div class="slideshow-inner">
<div class="slideshow">
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic01.png" width="1600" height="400" alt="slideshow 01"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic04.png" width="1600" height="400" alt="slideshow 02"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic06.png" width="1600" height="400" alt="slideshow 03"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic11a.png" width="1600" height="400" alt="slideshow 04"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic11b.png" width="1600" height="400" alt="slideshow 05"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic17.png" width="1600" height="400" alt="slideshow 06"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic19.png" width="1600" height="400" alt="slideshow 07"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic23.png" width="1600" height="400" alt="slideshow 08"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/pic28.png" width="1600" height="400" alt="slideshow 09"/>
</div>
</div>
</div>
<?php // endif; ?> <!-- BEZIEHT SICH AUF AUSKOMMENTIERUNG DES ALLEINIGEN ERSCHEINENS DES SLIDERS AUF DER STARTSEITE -->
Sliding Grafics als Header auf allen Seiten, so wie das hier im Thread ursprünglich angegangen wurde.
(der Body ist auf meiner Website 1280px breit, mittig unter der Slideshow) gemäß den von Mellow übermittelten Änderungen.
Bisher habe ich die Monotonie ausgleichen wollen mit einer entsprechend hohen Anzahl an Grafiken, die in den Slide geladen werden sollen.
Dem steht allerdings entgegen, dass die Grafikreihenfolge sich immer von Anfang an wiederholen wird :-(
Solange bleibt keiner auf einer Seite, dass er in den Genuss des kompletten Laufs kommt, weil er vorher auf die nächste Seite klickt und dort sieht er wieder nur die ersten Grafiken in der Reihenfolge. Zudem scrollt jeder Leser nach wenigen Sekunden weiter und bekommt somit nur die ersten zwei, drei Grafiken mit, wenn er sich für den Inhalt interessiert und weiter unten liest, wo der Slide schon längst aus dem Screen rausgescrollt ist.
Als Lösung wäre eine zufällige Generierung der Reihenfolge denkbar, dass der Leser bei jedem Klick auf der Folgeseite den Showdown des Sliders mit einer anderen Erstgrafik präsentiert bekommt.
Der inzwischen interessante Verlauf dieses Threads überzeugt mich nun von einer optimalen Lösung!
Die andere, viel elegantere Präsentation mit direktem Inhaltsbezug zu jedem Seiteninhalt kann nämlich der Ansatz von Kay sein, differenzierte Slides mit entsprechend passenden Motiven den jeweiligen Kategorien zuzuordnen, denen die Seiten vom Inhaltstyp her zugewiesen sind.
Damit erfüllt der Slide nicht nur Repräsentationszwecke mit optischer Relevanz, sondern er unterstützt die Orientierung des Lesers bei der Navigation durch das ganze Projekt und wird damit zum schwerpunktmäßigen, unterstützenden Element als Erkennungsmerkmal, wo ein User sich im Projekt gerade befindet.
Man, das wird ja richtig spannend hier im Thread Dafür baue ich doch glatt die Struktur meiner Seite noch einmal um, an der ich seit drei Jahren gearbeitet habe.
Das Gute dabei im Danland Theme: Die Slideshow kommt ohne den ganzen Modulen aus, die gewöhnlich bei Einbau der Slideshows in das CMS nötig sind und man spart dadurch Resourcen.
Halb eins nachts - ich bin einziger User hier im Forum :-( ...ich geh dann mal schlafen.
Hoffentlich kommen wir hier zu guten Ergebnissen.
==> Drupi
DrupiDino schrieb Der
am 29.08.2011 - 11:11 Uhr
Der inzwischen interessante Verlauf dieses Threads überzeugt mich nun von einer optimalen Lösung!
Die andere, viel elegantere Präsentation mit direktem Inhaltsbezug zu jedem Seiteninhalt kann nämlich der Ansatz von Kay sein, differenzierte Slides mit entsprechend passenden Motiven den jeweiligen Kategorien zuzuordnen, denen die Seiten vom Inhaltstyp her zugewiesen sind.
Damit erfüllt der Slide nicht nur Repräsentationszwecke mit optischer Relevanz, sondern er unterstützt die Orientierung des Lesers bei der Navigation durch das ganze Projekt und wird damit zum schwerpunktmäßigen, unterstützenden Element als Erkennungsmerkmal, wo ein User sich im Projekt gerade befindet.
Meine Rede! Jetzt braucht man nur noch das Wissen, um es umsetzen zu können ;)
Edit:
Soo also ich habe jetzt die Views Slideshow eingebunden und sie Funktioniert.
Wie kann ich jetzt dort Bilder einbinden? :D
Jetzt bin ich mir nur nicht sicher welchen
Eine Views Slideshow zeigt
am 29.08.2011 - 11:30 Uhr
Eine Views Slideshow zeigt die Bilder, die Du über den zugehörigen View ausfilterst. Also ist jetzt Deine Aufgabe, den View passend aufzusetzen. Eventuell kannst Du mit Taxonomie Bilder mit Begriffen kennzeichnen und Im View danach filtern. Auch sind Argumente im View (oder Contenxtual Filters nach D7 Bezeichnung) ein probates Mittel. Der Haken dabei ist, daß ein Block in Drupal keine Argumente aus der URL übernehmen kann. Da muß meist ein PHP-4-Zeiler her, der die Url liest und ein Argument daraus ableitet etwa so:
$path = drupal_get_path_alias($_GET['q']); //get alias of URL
$path = explode('/', $path); //break path into an array
if ($path[0] == 'mannschaft' && $path[1] != '') {
return $path[1];
}
Dieses Snippet muß auf die jeweiligen Gegebenheiten angepaßt werden.
In Views muß dann beim Argument Erstellen die Frage beantwortet werden "Was tun, wenn kein Argument vorhanden ist?" => Standard Argument zur Verfügung stellen mittels PHP-Code.
Ich hoffe, das hilft weiter.
Beste Grüße
Werner
Das ist mir jetzt ein wenig
am 29.08.2011 - 13:18 Uhr
Das ist mir jetzt ein wenig zu kompliziert, werde einfach nur Blöcke einfügen um den Unterseiten einen entsprechenden Banner zuweisen zu können.
Nur mit Full-HTML lassen sich ja keine Slideshows generieren oder?
Also ich kann keine Slideshow in einem Block unterbringen - sehe ich das richtig?
Edit:
Ich stehe vor dem Problem, dass ich ich jetzt die Blöcke drin habe den Schatten von der Slideshow aber nur beschnitten einfügen kann...
Wenn ich da etwas Ändere zerfetze ich mir die ganze Seite :/ Hat einer ne idee wie ich dort einen wrapper einfügen kann?
View - Taxonomie - Contextual Filter
am 29.08.2011 - 19:28 Uhr
@ wla
Hallo Werner.
Zunächst einmal Danke für Deine immer wieder aufschlussreichen Tipps, die Du diesem Forum ständig zukommen lässt. So einige Sachen habe ich schon in Threads gefunden, die daraufhin als gelöst bezeichnet werden konnten.
Sicher hast Du auch in oben zu lesenden Ausführungen Recht:
den View passend aufzusetzen
mit Taxonomie Bilder mit Begriffen kennzeichnen
Contenxtual Filters nach D7 Bezeichnung
Allerdings bitte ich zu bedenken:
Meine bisher erstellte, seit geraumer Zeit veröffentlichungsreife Version eines Webauftritts (in drei Jahren Arbeit über 2000 erstellte Inhaltsseiten!) baute auf dem Zen Theme auf Drupal 7.7 auf.
Nicht nur hinsichtlich des nun im gesamten Webprojekt sichtbaren Sliders, sondern auch auf Grund des in Danland viel einfacher strukturierten und übersichtlicheren CSS Aufbaus, habe ich seit heute früh begonnen alles umzustellen, indem ich das Danland Theme wieder auf meinen virtuellen Apache hier am PC geladen habe und alles auf dieses Theme umkonfiguriere.
Dabei möchte ich -wie ich schon zuvor mitgeteilt habe- in Erinnerung rufen, ohne jeglicher Contrib Module auszukommen. Dies ist, wenn ich Anfang nächsten Jahres online gehe, ein gewaltiger Vorteil, wenn es zukünftig ans Upgraden in Richtung html5 geht; da würde es sich mit einer Anzahl Modulen (die dann u.U. erst im Nachhinein weiterentwickelt werden) vielleicht als problematisch erweisen, das Theme kurzfristig auf den aktuellen W3C Standard zu heben. Was mich so an Danland begeistert ist die Tatache:
Die im Danland Theme integrierte Slideshow kommt ohne Modul aus
Für mich ist das einer der Hauptgründe, mich nun doch für das Danland Theme entschieden zu haben!
Das Problem bei den drupalseitigen Slideshows ist wohl unstrittigerweise, dass man sie nur dann in Betrieb nehmen kann, wenn man diese ganzen Module geladen hat, wobei in meinem speziellen Fall noch hinzukommt, dass ich mich zuätzlich mit einer ganzen Reihe anderer Module belasten müßte, die ich für nichts anderes brauche. Auch die Taxonomie ist für mich bedeutungslos, da ich ein eigenes Modell ersonnen und umgesetzt habe, das meinen Vorstellungen der Navigation auf meiner Website entspricht - und gerade diesen Punkt betreffend ist ein orientierungsunterstützender Slider mit kategorienbezogenen Motiven auf den jeweiligen Seiten sozusagen das Tüpfelchen auf dem i hinsichtlich der Optimierung des geplanten Auftritts.
Hinzuzufügen wäre noch, dass ich auch einige Core Module aktivieren müsste, die im gegenwärtigen Zeitpunkt abgeschaltet (weil nutzlos) sind.
Dies alles mit Blick auf ein möglichst schlankes Drupal, stabil, übersichtlich, schnell, leichter abzudaten, für zukünftige Entwicklungen möglichst offen, kurzfristig zu aktualisieren, ohne technischem Schnickschnack für Effekthascherei ....und auch die Slideshow will ich nur einbauen, weil sie neben dem optischen Effekt eine tatsächliche Unterstützung der Orientierung darstellen wird.
@ kay
Nur mit Full-HTML lassen sich ja keine Slideshows generieren oder?
Also wie ich ja schon beschrieben habe kommt das Danland Theme ohne Module aus.
Wie Werner oben bereits ausgeführt hat. scheint eine Direktzuweisung an andere Seiten als der Startseite nicht gegeben. Die Gründe hierfür liegen lt. Werner in der Aufspaltung des Pfads.
In meinem Fall sieht das so aus, dass ich keine für einen Webauftritt anonsten typische,feste Startseite habe, weil ich die aktuellste Inhaltsseite immer als Startseite per Hand konfiguriere. Daher muss ich die Zuweisung ohnehin auf eine andere Seite bewerkstelligen (in meinem Fall auf eine ganze Kategorie, wobei ich die zugehörigen Seiten wohl händisch zuweisen muss, da ich mich nicht der Drupal Taxonomie bediene). Wahrscheinlich liegt in der Zuweisung einer ganzen Kategorie ohne Taxonomiemodul das nächste Mammutproblem. Wie sollte man das wohl umsetzen?
Ich habe also das Splitting einzugeben und im Array Path die Abfrage entprechend zu formulieren.
@ wla
Habe ich das so richtig verstanden, Werner?
@ kay
Also ich kann keine Slideshow in einem Block unterbringen
Das stimmt nicht. Du kannst sehr wohl eine Slideshow in einem Block unterbringen und den Block kannst Du dann händisch bestimmten Seiten zuweisen. Nur könnte es sein, dass Du bei mehreren, von einander getrennten Bildabläufen ("Showdowns") ganz einfach mehrere Slideshows einsetzt, die alle mit unterschiedlichen Bildmotiven bestückt sind. Ob und wie das geht baldowere ich gerade aus. Wird aber eine Weile dauern, bis ich das geregelt bekommen habe.
Ich liebäugel bereits mit einer anderen Variante:
Mein Webauftritt wird einige tausend Seiten Umfang haben. Da überlege ich mir gerade, ob ich das Drupaltheme Danland nicht gleich mehrere Male als Subtheme1 (für die Kategorie A), als Subtheme2 (für die Kategorie B), als Subtheme3 (für die Kategorie C), als Subtheme4 (für die Kategorie D) usw. lade (und zwar mit jeweils eigenem Drupalkern!) wobei ich für orientierungsausgerichtete Gestaltung dann noch mehr Spielräume hätte, als nur die Slideshow. Da ich ohne Taxonomie arbeite, kann ich ohne weiteres an einen anderen Kern (auf dem gleichen Server unter der gleichen Domain) verlinken. Ich sehe das auch hinsichtlich der Stabilität und der Übersicht im Adminbereich Block; da scrolle ich durch tausende Inhalte und zugeordnete Blöcke und brauche manchmal fünf Minuten, um etwas zu finden - insbesondere um Werbeflächen einer Inhaltsseite zuzuweisen oder Grafiken einer Kategorie zuzuordnen. Mit der Reihenfolge der Blöcke habe ich darüberhinaus auch inzwischen so meine Probleme (manche stöhnen ja schon bei drei-, vierhundert Elementen, durch die sie scrollen müssen - sie sollten sich mal einige tausend vergegenwärtigen!)
Mit zunehmender Seitenzahl wird das mit Drupal nämlich immer schwieriger, die Zuweisungen der Blöcke zu den Inhaltsseiten zu pflegen; daran sollte jeder auch mal denken.
Ob das elegant gelöst ist, können hier vielleicht die Spezialisten beurteilen
(ich mache das ja zum ersten Mal in diesen Ausmaßen)
Mit mehreren Kernen würde zumindest ich in meinem Fall da nur Vorteile haben (was für andere Anwender hier im Forum nur Sinn machen würde, wenn die Sites entsprechend groß werden).
Damit hätte ich das Slideshowproblem auf eine etwas ungewöhnliche, aber durchaus Vorteile bringende Weise komplett gelöst:
Auf allen Seiten des Danland Themes eine Slideshow
und zugleich in allen Kategorien eine individuelle!
Vor allem dient das natürlich bei entsprechendem Volumen der Stabilität; selbst wenn mal ein Kategorie Theme abstürzt, dann laufen alle anderen weiter ....und meine "Scrolltiraden" im Adminbereich Blöcke haben auch ein Ende.
@ wla
Was meinst Du, Werner?
Grüße aus Berlin ==> Drupi
Also nach dem Splitten des
am 29.08.2011 - 20:14 Uhr
Also nach dem Splitten des Pfades kannst Du in if-Abfragen auf die einzelnen Teile des Pfad-Arrays prüfen und damit verzweigen bzw Code-Blöcke durchlaufen.
In einer anderen Sache werden wir nie auf einen Nenner kommen: Deine panische Angst vor zusätzlichen Modulen. Ein Drupalseite ohne Views kann ich mir schlicht nicht vorstellen und unter Drupal 6 gehörte CCK als notwendig zum Strukturenaufbau dazu (das ist ja als Fields in den Core gewandert).
Wenn Du alles händisch machst, wo liegt denn für Dich de Vorteil eines CMS? Ich setze eine Webseite auf, die ein Kunde selbständig betreuen kann und er die Eingaben über Node-Formulare macht, die ich im Zweifel sogar noch vereinfache oder Optionen ausschalte (z.B. bei bestimmten Node-Typen den Menü-Tab verschwinden lassen). Alles andere ist Automatik.
Du könntest etwa über Kriterien für die Startseite nachdenken und dann mittels Views diese Seite automatisiert erstellen lassen.
Wozu mehrere Drupal-Kerne bei einer einzigen Webseite? Das macht keinen Sinn. Bei einer Multisite benutzt man ja sogar für mehrer unabhängige Seiten den gleichen Drupal-Kern aber jeweils eine eigene Datenbank pro Site. Mehrere Themes, die auf Grund von Bedingungen gewechselt werden: Ja. Dazu nehme ich dann auch das Modul Themekey.
Dein Fehler liegt im meinen Augen darin, daß Du in einzelnen Seiten denkst und nicht in Typen von Seiten oder Node-Typen. In meinen Augen arbeitest Du krampfhaft an den Vorteilen von Drupal vorbei. Sorry, wenn Dich das jetzt hart trifft.
Beste Grüße
Werner
Seite mit begrenzt eingesetzten Modulen
am 29.08.2011 - 22:44 Uhr
Hallo Werner
In einer anderen Sache werden wir nie auf einen Nenner kommen: Deine panische Angst vor zusätzlichen Modulen.
Das sieht nur so aus, Werner.
Ich werde ja dann den Webauftritt hier in den Showroom stellen; Du wirst sehen, dass es ein funktionell sehr durchdachtes Projekt ist. Es benutzt ja logischerweise die Hälfte der Coremodule von Drupal.
Was ich bemerkt habe: Schon auf dem virtuellen Apache auf meinem PC wurde Drupal langsamer, je mehr Module ich benutzt habe. Angst habe ich vor dem Einsatz auf dem Server mit den vielen Seiten (inbesondere im Hinblick auf die Suchfunktion. Bei einem Lexikon wird viel gesucht, das liegt an der Natur der Sache.) Ich kenne die Nöte, die Wikipedia hat!
Was den in diesem Thread angehenden Slider auf allen Seiten betrifft, habe ich ebenfalls Bedenken bzgl. der Belastung, wenn unterschiedliche Bildabläufe in jeder Kategorie aufgerufen werden. Meinst Du nicht, dass das berechtigt ist? Da sollte man eine entsprechende Cachezuteilung einstellen.
Ein Drupalseite ohne Views kann ich mir schlicht nicht vorstellen und unter Drupal 6 gehörte CCK als notwendig zum Strukturenaufbau dazu (das ist ja als Fields in den Core gewandert).
Bisher habe ich beide noch nicht gebraucht. Ich habe im Wesentlichen mit Blöcken, Inhaltstypen und Slideshow gearbeitet, also sozusagen den Grundelementen eines CMS - ohne Fieldzuweisungen und ohne Views. Einmal den Inhaltstypen und den Seiten zugewiesen ist bei Editierung eines Begriffstexts für das Lexikon die Kombination der zugehörigen Blöcke in den Sideboards feststehend. Will ich sie ändern, geschieht dies in Sekundenschnelle
Klar, dass ich die wenigen benutzen Elemente des CMS dann perfektioniert haben will: So die in diesem Thread angegangene Slideshowvariante.
Wenn Du alles händisch machst, wo liegt denn für Dich der Vorteil eines CMS?
Schwerpunktmäßig in der zentralseitigen Veränderungsmöglichkeit von elementaren Bestandteilen, die sozusagen "auf Knopfdruck" auf allen zweitausend, (später erheblich mehr) Seiten in Sekundenschnelle angepasst werden können. Ohne CMS wäre das nicht möglich.
Ich setze eine Webseite auf, die ein Kunde selbständig betreuen kann und er die Eingaben über Node-Formulare macht, die ich im Zweifel sogar noch vereinfache oder Optionen ausschalte (z.B. bei bestimmten Node-Typen den Menü-Tab verschwinden lassen). Alles andere ist Automatik.
Kunden habe ich nicht; ich mache das Projekt nur für mich und meine Partner mit speziellen Anforderungen, über die hinaus ich nichts benötige.
Da das Lexikon nur Weblesestoff darstellt, ggf. ein späteres eBook, muss ich diese Dinge nicht beachten. (Das Autorenportal läuft über ein parallel eingebundenes Original Wiki)
Du könntest etwa über Kriterien für die Startseite nachdenken und dann mittels Views diese Seite automatisiert erstellen lassen
Diese Seite wechselt unter den Auswahlkriterien der angesagten Inhalte der Branche, in der das Lexikon angesiedelt ist und ist somit redaktionell festzusetzen.
Wozu mehrere Drupal-Kerne bei einer einzigen Webseite? Das macht keinen Sinn. Bei einer Multisite benutzt man ja sogar für mehrer unabhängige Seiten den gleichen Drupal-Kern aber jeweils eine eigene Datenbank pro Site. Mehrere Themes, die auf Grund von Bedingungen gewechselt werden: Ja. Dazu nehme ich dann auch das Modul Themekey
Soweit ich weiß hatte Zeit-online vor zwei, drei Jahren Probleme, die sich gegeben haben, seit sie mit mehreren Drupals arbeiten; ich weiß das von einem Mitarbeiter. Aber Drupal ist seitdem zwei Versionen weiter und leistungsfähiger geworden. Diesen Punkt sehe vielleicht völlig falsch. Das ist sogar ziemlich wahrscheinlich, weil mir hier die informatischen Kenntnisse weitgehend fehlen.
Dein Fehler liegt in meinen Augen darin, daß Du in einzelnen Seiten denkst und nicht in Typen von Seiten oder Node-Typen. In meinen Augen arbeitest Du krampfhaft an den Vorteilen von Drupal vorbei. Sorry, wenn Dich das jetzt hart trifft.
Pages und Nodes sind als einzelne Dokumente garnicht aufrufbar bei mir (nur als Admin über Bearbeiten des Contents eines Begriffs.) Insofern hast Du Recht. Es trifft mich jedoch nicht hart, weil ich ja nur den von mir abgesteckten Bereich zur Erfüllung meiner Anforderungen mit Drupal abdecken will. Es ist nicht so, dass ich nicht andersartige Testprojekte zuvor erstellt habe und dabei etwa 100 Module ausprobiert habe (das sind meines Wissens fast alle, die vor einigen Monaten auf Drupal 7.x offiziell, als alpha oder im dev liefen)
Abschließend:
Wenn ich das jetzt mit den Slideshows und der Textänderung systembereitgestellter Formulare wunschgemäß hinbekomme, bin ich mit dem Gerüst meines Projekts fertig, Werner, und:
rundum sauzufrieden mit Drupal
....das ich nun schon einer Reihe Leute wärmstens empfohlen habe, die ebenfalls inzwischen damit ihre Webseiten gestalten.
Wenn Du mich ein Stück auf dem Weg bis zu meinem Internetstart begleiten kannst, Werner, bei den paar Fragen, die noch für mich offen stehen, bin ich Dir dankbar. Immerhin hat dieser Thread mit den Slideshows mir gestern Nacht die zündende Idee für einen endgültigen Projektüberbau gegeben!
Toll, dieses Forum ==> Drupi
Habe noch nicht gelesen was
am 29.08.2011 - 23:45 Uhr
Habe noch nicht gelesen was ihr hier alles geschrieben habt...
Ich habe es jetzt so gelöst: http://www.drupalcenter.de/node/37151#comment-132295
Gibt es beim Danland eine Möglichkeit die Slideshow Interaktiv zu gestallten?
so wie z.B. hier: Beispiel
Jede Slideshow basiert
am 30.08.2011 - 07:44 Uhr
Jede Slideshow basiert irgendwo auf einem JavaScript Programm. Das läßt sich auswechseln, aber dann muß man wieder wissen, was man tut und will.
Beste Grüße
Werner
Ich hab mir das mal
am 30.08.2011 - 09:49 Uhr
Ich hab mir das mal angeschaut, und frage mich nun, ob es nicht auch möglich ist
in der page.tpl.php eine Region für die Komplette Slideshow zu erstellen.
Beispiel:
….
[--------Slideshow -1-------] =>Nur auf Startseite anzeigen
[--------Slideshow -2-------] =>Nur auf Inhaltseite 1 anzeigen
[--------Slideshow -3-------] =>Nur auf Inhaltseite 2 anzeigen
[Preface first][ Preface middle][ Preface last]
….
Man könnte den Teil doch dann in der page.tpl.php duplizieren und über die Blockverwaltung nur auf der Seite anzeigen, wo man sie haben möchte. Geht das nicht? Oder habe ich einen Denkfehler?
Genauso hat ers ja
am 30.08.2011 - 10:02 Uhr
Genauso hat ers ja mittlerweile hinbekommen -> http://www.drupalcenter.de/node/37151
Ich denke, Du kannst da jetzt endlich ein [ Gelöst ] in den Titel des Ursprungsthreads eintragen, damit das auch mal ein Ende findet hier :-)
Thoor schriebIch denke, Du
am 30.08.2011 - 10:23 Uhr
Ich denke, Du kannst da jetzt endlich ein [ Gelöst ] in den Titel des Ursprungsthreads eintragen, damit das auch mal ein Ende findet hier :-)
mooooment :-)
Ich bin ja nicht so erfahren wie du, was PHP angeht und möchte mir nicht gleich den nächsten fehler reinbasteln.
Aber vieleicht hilfst du mir ja nochmal, damit das schnell zu Ende geht. ^^
Wenn ich nun für jede Slideshow eine eigene Region erzeugen möchte, wie sieht das dann genau im Code aus?
Ausgehend hiervon:
<!-- Start Slider -->
<div id="slideshow-wrapper">
<div class="slideshow-inner">
<div id="slideshow-preface">
<?php if ($page['preface']): ?>
<div id="preface">
<?php print render ($page['preface']); ?>
</div><!-- Ende preface -->
<?php endif; ?>
</div>
<?php if ($page['highlighted']) : ?><div id="slideshow-bottom">
<div id="mission"><?php print render ($page['highlighted']); ?></div></div><?php endif; ?>
<div class="slideshow">
<img src="<?php print $base_path . $directory; ?>/images/slideshows/bild_1.jpg" width="950" height="270" alt="slideshow 1"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/bild_2.jpg" width="950" height="270" alt="slideshow 2"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/bild_3.jpg" width="950" height="270" alt="slideshow 3"/>
</div>
</div>
</div>
<!-- Ende Slider -->
Ich habe das gerade schon mit einem Snippet aus dem anderen Thema versucht, bekomme da aber immer eine Fehlermeldung.
Mellow schrieb Ich bin ja
am 30.08.2011 - 10:38 Uhr
Ich bin ja nicht so erfahren wie du, was PHP angeht und möchte mir nicht gleich den nächsten fehler reinbasteln.
Aber vieleicht hilfst du mir ja nochmal, damit das schnell zu Ende geht. ^^
Wenn ich nun für jede Slideshow eine eigene Region erzeugen möchte, wie sieht das dann genau im Code aus?
Also PHP kann ich leider auch nicht wirklich ... das ist bei mir mehr so in der Ecke "Try and Error" zuhause :-)
Und zur Region selbst. Stell Dir ne REGION einfach als eine Art Schublade vor. Und das was Du in die Schublade packst, das ist der BLOCK.
Du musst für verschiedene Ausgaben in einer Region verschiedene Blöcke in Deine Region packen!
Du erstellst Dir also Blöcke mit Deinen verschiedenen Slideshows, oder Bildern, oder was Dir sonst so einfällt und positionierst alle diese Blöcke über die Blockverwaltung in genau dieser einen Region! Und welcher Block dann wann angezeigt wird, das legst Du mit den Sichtbarkeits-Einstellungen des jeweiligen Blockes fest.
Klarer jetzt?
"Try and Error".... das ist
am 30.08.2011 - 10:59 Uhr
"Try and Error".... das ist gut - das kommt mir sehr bekannt vor. *lol*
Die Funktionsweise der Regionen und Blöcke habe ich verstanden.
Jetzt ist ehr mein Problem das ich mit dem Code aus dem vorigen Post (der für den Slider verantwortlich ist), versucht habe (Try and Error^^)
den aus dem anderen Beitrag zu Editieren.
Also habe ich mir den angesehen, und verstanden wie ich dort eine neue Region erzeugen kann.
<?php if ($page['banner']): ?>
<div id="banner-top">
<div id="banner-top-inner" class="region region-banner-top">
<?php print render($page['banner']); ?>
</div>
</div>
<?php endif; ?>
Wenn ich aber versuchen diesen mit dem von oben zu kombinieren, bekomme ich immer eine Fehlermeldung. Da weiß ich halt nicht weiter.
Den Code, den Du jetzt
am 30.08.2011 - 11:16 Uhr
Den Code, den Du jetzt gepostet hast, den schreibst Du in Deine page.tpl.php und außerdem musst Du noch in der .info Datei Deines Themes die Region einfügen, damit Drupal von deren Existenz Bescheid weiss. Theme Registry neu aufbauen ( nur nochmal das Theme aktivieren ) und Caches leeren. Jetzt hast Du diese Region in Deiner Blockverwaltung zur Verfügung.
Tja und jetzt legst Du eben einen Block an. Da kannst du reinschreiben was du willst. Deine vorhandene Slideshow, eine andere Slideshow, nen Text, ein Bild was auch immer .... und diesen Block schiebst Du in der Blockverwaltung in die angelegte Region und bei den Sichtbarkeitseinstellungen sagst Du ihm dann eben, daß er nur auf dem Pfad lieschenmueller/test angezeigt werden soll.
Und da kannst Du soviele Blöcke anlegen und entsprechenden Pfaden zuweisen, bis Dir schwummrig wird :-)
Sobald einer herausgefunden
am 30.08.2011 - 11:28 Uhr
Sobald einer herausgefunden hat wie man eine Slideshow in einen Block implementiert wäre ich Ihm sehr Dankbar, wenn er das hier Posten könnte ;)
Also das allereinfachste
am 30.08.2011 - 11:37 Uhr
Also das allereinfachste würde sein, sich eine Slideshow mit einem Drupal Modul zu erstellen. Mit VIEWS und VIEWS SLIDESHOW lassen sich ein paar sehr schöne Slideshows erstellen. Tja und die Slideshow kann man dann gleich als Block erstellen und wie alle Blöcke anzeigen lassen, indem man diese dann in eine Region verschiebt.
Thoor schrieb ...Da kannst du
am 30.08.2011 - 11:45 Uhr
...Da kannst du reinschreiben was du willst. Deine vorhandene Slideshow, eine andere Slideshow, nen Text, ein Bild was auch immer ....
Wenn ich dich recht verstehe meist du den PHP code von der Slideshow.
Den soll ich in den Block schreiben und unter Verwendung mit dem PHP Filter Modul im Block ausführen.
Werde ich mal testen. Auch eine Möglichkeit.
Ich dachte aber eigentlich an eine etwas andere Lösung. Und zwar den Slideshow Code in der Page.tpl.php in eine eigene Region packen (Problem, ich weiß nicht genau wie). Diesen duplizieren, und so z.B. 4 Slideshow Blöcke generieren. Nun hätte ich diese fest in der Block Übersicht, und könnte diese so verwalten wie ich gerade möchte. Die Originale Slideshow in der Page.tpl.php würde ich dann einfach herausnehmen. - Ich hoffe ist verständlich was ich meine. ;)
an Views Slideshow bin ich
am 30.08.2011 - 11:47 Uhr
an Views Slideshow bin ich schon einmal gescheitert werde mir das aber heute Abend noch einmal anschauen...
Ich dachte man kann sich einfach einen Code in einen Block schreiben, so wie den der front Site Slideshow...
<?php if ($page['banner']): ?>
<div id="banner-top">
<div id="banner-top-inner" class="region region-banner-top">
<?php print render($page['banner']); ?>
</div>
<?php if ($page['highlighted']) : ?><div id="slideshow-bottom">
<div id="mission"><?php print render ($page['highlighted']); ?></div></div><?php endif; ?>
<div class="slideshow">
<img src="<?php print $base_path . $directory; ?>/images/slideshows/startseite/c8_web.jpg" width="950" height="355" alt="slideshow 1"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/startseite/jeep_web.jpg" width="950" height="355" alt="slideshow 2"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/startseite/megane_rs_web.jpg" width="950" height="355" alt="slideshow 3"/>
<img src="<?php print $base_path . $directory; ?>/images/slideshows/startseite/transporter_web.jpg" width="950" height="355" alt="slideshow 4"/>
</div>
</div>
<?php endif; ?>
irgend wie so :D
kay schrieb Sobald einer
am 30.08.2011 - 11:47 Uhr
Sobald einer herausgefunden hat wie man eine Slideshow in einen Block implementiert wäre ich Ihm sehr Dankbar, wenn er das hier Posten könnte ;)
Aber Du hast ja bereits den Code für eine Startseiten Slideshow in Deiner page.tpl.php! Wenn Du den jetzt aus der page.tpl.php entfernst und anstelle dessen in einen Block eingibst, und diesen Block in der entsprechenden Region nur auf dem Pfad
<front>
anzeigen lässt, dann hättest Du eine Slideshow in einem Block implementiert :-)Also ich kenne das Theme nicht und werds mir auch nicht runterladen ... aber da gäbe es dann ja vielleicht auch die Möglichkeit, diese Show dann für weitere Blöcke zu vervielfältigen?
@Thoor also ich habe jetzt
am 31.08.2011 - 13:26 Uhr
@Thoor
also ich habe jetzt gemacht was du gesagt hast Slideshow raus in Block rein geht ;)
Wie bekomme ich es jetzt hin das sie auf dem Pfad "unternehmen" angezeigt wird? Dort wird nur ein Bild permanent Angezeigt.
Slideshow Code:
<div id="slideshow-wrapper">
<div class="slideshow-inner">
<div id="slideshow-preface">
</div>
<div id="slideshow-bottom">
<div id="mission"><?php print render ($page['highlighted']); ?></div></div>
<div class="slideshow">
<img src="/sites/all/themes/danland_mod/images/slideshows/unterseiten/cd.jpg" width="950" height="178" alt="slideshow 1"/>
<img src="/sites/all/themes/danland_mod/images/slideshows/unterseiten/ab.jpg" width="950" height="178" alt="slideshow 2"/>
</div>
</div>
</div>
Da wirst Du Dich bezüglich
am 31.08.2011 - 13:34 Uhr
Da wirst Du Dich bezüglich der Slideshow mal durch die DOKU des Themes lesen müssen und das entsprechende Script ansehen müssen. Da ich wie schon erwähnt, weder das Theme, noch die verwendete Slideshow kenne, kann ich dir dazu nichts sagen.
Irgendwo muss da ja ein JavaScript oder irgendetwas "rumschwirren" in dem Theme, denn im Quelltext stehen ja lediglich zwei Bilder. Da wirst Du dich wohl auf die Suche machen müssen. ( Am Besten mal den Seitenquelltext ansehen, im HEAD Bereich müssten ja die Scripts stehen, die geladen werden. )
Also ich habe das hier
am 31.08.2011 - 14:34 Uhr
Also ich habe das hier gefunden:
Grün markierte Zeile
Unter der Datei bin ich dann halt die vieiws_slideshow_cycle.css Datei gefunden:
.views_slideshow_cycle_no_display,
.views_slideshow_cycle_hidden,
.views_slideshow_cycle_controls,
.views_slideshow_cycle_image_count {
display: none;
}
/* Pager Settings */
.views_slideshow_cycle_pager div a img {
width: 75px;
height: 75px;
}
.views_slideshow_pager_numbered div, .views_slideshow_pager_thumbnails div {
display: inline;
padding-left: 10px;
}
.views_slideshow_cycle_pager.thumbnails a.activeSlide img {
border: 3px solid #000;
}
.views_slideshow_cycle_pager.numbered a.activeSlide {
text-decoration: underline;
}
Im Quellcode selbst wird dem Bild ein element.style CSS zugewiesen
element.style {
display: none;
height: 178px;
left: 0;
opacity: 0;
position: absolute;
top: 0;
width: 950px;
z-index: 2;
}
Aber hier ist keine Quelle angegeben...
Also mein Wissen reicht nicht aus um das alles zu Entschlüsseln...
Ich werde mich auf die Banner beschränken und mich später noch einmal mit Views Slideshow beschäftigen.
Soweit ich mich erinnere,
am 31.08.2011 - 17:39 Uhr
Soweit ich mich erinnere, wird die JavaScript Datei in dem File template.php im Theme eingebunden.
Beste Grüße
Werner