[gelöst] Theme: Corporate Clean
Eingetragen von Georgios (18)
am 07.12.2012 - 15:03 Uhr in
am 07.12.2012 - 15:03 Uhr in
Hallo Drupalianer,
ich habe das Theme "Corporate clean" als eigenes Theme umgearbeitet und beziehe in der .Info-Datei mich auf das "Original" von Corporate clean.
FRAGE: Ich möchte die SlideShow langsamer durchlaufen lassen; finde aber in der .js-Datei keine so richtige Einsteelung dazu. Kann mir jemand helfen, wie ich die SlideShow langsamer bekomme?
Allen, die sich mit dieser Frage beschäftigen möchten: Ein herzliches Danke bereits jetzt schon!
Gruß, Stefan-Georgios.
- Anmelden oder Registrieren um Kommentare zu schreiben
Mal in die Dokumentation gucken
am 07.12.2012 - 17:15 Uhr
http://wiki.morethanthemes.com/index.php?title=Corporate_Clean:Demonstra...
siehe Abschnitt Slideshow (page.tpl.php)
Änderungen der Parameter kannst du natürlich auch direkt im jquery cylcle Plugin vornehmen. /sites/all/libraries/jquery.cycle/jquery.cycle.all.min.js
so nicht
am 09.12.2012 - 11:35 Uhr
Danke - aber das bringt mich so nicht weiter. Es ist keine Einstellung wie z.B. "speed" oder "delay" im Array zu finden, das bei Änderung die Bilder verlangsamt.
Wer kann nun wirklich helfen?
Vielen Dank Euch allen
Naja, ist halt so eine
am 09.12.2012 - 12:34 Uhr
Naja, ist halt so eine abgespeckte Fertig-Lösung - so richtig beschäftigen wollen, werden sich damit wenige.
Hört sich vielleicht blöd an, aber kannst Du nicht einen "richtigen" NIVO-Slider http://drupal.org/project/views_nivo_slider in die Region einbauen? Mit dem kannst Du dann in der View die Einstellungen vornehmen.
gute Idee - aber..
am 09.12.2012 - 12:46 Uhr
Das ist eine gute Idee und ich danke für diese sehr herzlich.
Es ist nur so: Der Slider besteht ja bereits komplett. Einzig blöd an diesem Slider ist eben, dass er in der page.tpl verdrahtet ist und dort verändert werden muss. Das habe ich auch alles bereits erfolgreich gemacht. Der NIVO-Slider ist gut und für Drupal im Grunde hervorragend geeignet, ja.
Das hieße jedoch, der komplette Slider müsste komplett neu gestaltet werden - ist nicht wirklich sinnvoll, wenn er bereits schon vorhanden ist.
Meine Frage nochmals: An welcher Stelle verändere ich das Array, damit "the next Slider" mit einer anderen Zeit abläuft? (Es sollte eine Art Schalter geben, der in der .js die Zeit verändert). Im vorgegebenen Slider verändern sich die Bilder nach 5 Sekunden und ich möchte nun eben, sagen wir einmal, 10 Sekunden die Bilder genießen dürfen.
Stefan-Georgios.
Ich weiß nicht ob, 'Clean
am 09.12.2012 - 12:58 Uhr
Ich weiß nicht ob, 'Clean Corporate' das gleiche Script (jquery.nivo.slider.js von http://nivo.dev7studios.com/) benutzt, wenn ja kannst Du es hier einstellen, oder halt im Aufruf die Parameter ändern:
Line 662
//Default settings
$.fn.nivoSlider.defaults = {
effect: 'random',
slices: 15,
boxCols: 8,
boxRows: 4,
animSpeed: 500,
pauseTime: 3000, //HIER
startSlide: 0,
....
Elegant wäre auch die Einstellungen in Deinem Sub-Theme zu erweitern...
Ich kann die Problematik
am 09.12.2012 - 15:51 Uhr
Ich kann die Problematik nicht ganz nachvollziehen, denn im Administrationsbereich des Corporate Clean Themes, gibt es doch extra die Möglichkeit, die Zeit zwischen den Slides anzupassen (siehe Screenshot).
Und wenn du auch noch die Slidegeschwindigkeit anpassen möchtest, so ist das auch kein Problem, denn der Slider basiert ja auch dem Cycles-Plugin, und das ist sehr leicht zu administrieren.
Gruß
Berthold Lausch
ich schon...
am 09.12.2012 - 15:59 Uhr
Danke Berthold für Deinen Tip.
Die Problematik ist sofern sehr einfach nachzuvollziehen, da das Theme "vererbt" wurde und die Einstellmöglichkeiten vom Original "Corporate Clean" an die "Kopie" nicht weiter gegeben wird.
Zum Cycle-Plugin: Es soll sehr einfach sein, sagt Du... nun, wie? wo?
Wie man die Einstellungen in
am 09.12.2012 - 16:13 Uhr
Wie man die Einstellungen in der Administrationsoberfläche des Corporate Clean ergänzen kann, findest du in der theme-settings.php
Wie du die Werte direkt an das Cycles-Plugin übergeben kannst, findest du in der template.php.
Da steht z.B.:
$("#slideshow").cycle({
fx: "'.$effect.'",
speed: "slow",
random: '.$slideshow_randomize.',
nowrap: '.$slideshow_wrap.',
pause: '.$slideshow_pause.',
pager: "#slider-navigation",
pagerAnchorBuilder: function(idx, slide) {
return "#slider-navigation li:eq(" + (idx) + ") a";
},
slideResize: true,
containerResize: false,
height: "auto",
fit: 1,
before: function(){
$(this).parent().find(".slider-item.current").removeClass("current");
},
after: onAfter
});
});
@vererbt
Warum nimmst du nicht von vornherein das Original Corporate Clean Theme mit allen Einstellungen.
Das Corporate Clean ist doch keine Theme, wo man z.B. per Starterkit (wie es ja meist heißt, z.B. beim Omega Theme oder beim Fusion Theme oder beim Zen-Theme) eine Subtheme anlegt.
Geschafft!
am 09.12.2012 - 16:36 Uhr
Für jeden, den es interessieren sollte: Speziell zum Theme CORPORATE CLEAN muss man in der .../themes/corporateclean/js/jquery.cycle.all.js in der Zeile 1072 den TimeOut entsprechend verändern:
// override these globally if you like (they are all optional)
$.fn.cycle.defaults = {
activePagerClass: 'activeSlide', // class name used for the active pager link
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
aspect: false, // preserve aspect ratio during fit resizing, cropping if necessary (must be used with fit option)
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)
center: null, // set to true to have cycle add top/left margin to each slide (use with width and height options)
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
containerResizeHeight: 0, // resize containers height to fit the largest slide but leave the width dynamic
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 }
skipInitializationCallbacks: false, // set to true to disable the first before/after callback that occurs prior to any transition
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: undefined,// zero-based index of the first slide to be displayed
sync: 1, // true if in/out transitions should occur simultaneously
timeout: 9000, // milliseconds between slide transitions (0 to disable auto advance) <---- H I E R Ä N D E R N
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)
};
Zitat:Für jeden, den es
am 09.12.2012 - 16:44 Uhr
Für jeden, den es interessieren sollte: Speziell zum Theme CORPORATE CLEAN muss man in der ..
Da muss ich widersprechen, dass sollte man nicht tun. Man ändert nichts in der jquery.cycle.all.js.
Das ist eine Todsünde :-)
Wenn dort etwas geändert wird, dann wird das von den Autoren des Plugins geändert.
Original Theme nehmen?
am 09.12.2012 - 16:44 Uhr
Jedes Fachbuch rät davon ab, das originale Theme zu benutzen (aus gutem Grunde!), denn dieses unterliegt u.a. einem update und dann sind die meisten Einstellungen weg... auch mit einem Backup, sind die Veränderungen nicht mehr nachzutragen; außer per Hand - und das will ich vermeiden, da dies einem kompletten Neuaufbau der Seite gleichkäme (ist mir bereits schon passiert). Deshalb: Immer eine Kopie anlegen, die durch ein update nicht gestört wird!
Zudem sollten das Copyright und anderes ge- und beachtet werden. Wer also ein Theme ändert oder eine Kopie erstellt, sollte (muss) das im Impressum oder sonstwo angeben und den Ersteller des Original angeben!
Bei einer Kopie eines Originales wird, wie bereits erwähnt, nicht jede Einstellung über die Admin-Seiten "vererbt", sodass man in die Eingeweide eingreifen muss; und diese können sich auf dem Pfad des Originals oder auf dem der Kopie befinden, hier ist ausprobieren gefragt, wie ich nun feststellen musste.
Ich hoffe, es kann noch jemand mit diesem Thema etwas anfangen und findet vielleicht schneller und unkomplizierter zu seinem Ergebnis.
Viel Spaß und gute Zeit!
Stefan-Georgios.
Zitat:Jedes Fachbuch rät
am 09.12.2012 - 17:06 Uhr
Jedes Fachbuch rät davon ab, das originale Theme zu benutzen (aus gutem Grunde!), denn dieses unterliegt u.a. einem update und dann sind die meisten Einstellungen weg...
Auch das halte ich für Unsinn.
Es gibt das Modul Update_Advanced, damit kann man einstellen, welche Elemente beim Update überhaupt berücksichtigt werden.
Natürlich kannst du auch das corporate_clean in mein_corporate_clean umbennen, dann mußt du aber auch alle Funktionen aus dem Theme entsprechend umbenennen und dann hast du die Einstellungen für z.B. die Slideshow auch wieder in der Themeadministration drin.
Beide Wege führen zu einem guten und sicheren Ergebnis.
Die obige Problematik, die du angesprochen hast (siehe Zitat) wird dich aber ereilen, wenn du anfängst, in den Plugins etwas zu verändern.
Dagegen gibt es dann kein Modul :-(
Deswegen: Änderungen an der Steuerung des Plugins auf jeden Fall in der template.php machen und nicht im Originalplugin.