シルバーストライププロジェクトでvegasスライダーhttp://vegas.jaysalvat.com/を使用しようとしましたが、CMS経由で画像を追加できるように設定する際に問題があります。シルバーストライプ画像アップロードjavascript変数
は、ページコントローラ内
$vars = array(
'Slideshow1' => $this->Slideshow1,
'Slideshow2' => $this->Slideshow2,
'Slideshow3' => $this->Slideshow3,
'Slideshow4' => $this->Slideshow4,
'Slideshow5' => $this->Slideshow5,
'Slideshow6' => $this->Slideshow6,
'Slideshow7' => $this->Slideshow7
);
Requirements::javascriptTemplate("themes/mysite/javascript/vegas1.js", $vars);
を使用してみました。
そして、私のスクリプトファイルに私のページテンプレートでは
$('body').vegas({
delay: 7000,
timer: false,
shuffle: true,
transition: 'fade2',
transitionDuration: 3000,
slides: [
{ src: "$Slideshow1"},
{ src: "$Slideshow2"},
{ src: "$Slideshow3"},
{ src: "$Slideshow4"},
{ src: "$Slideshow5"},
{ src: "$Slideshow6"},
{ src: "$Slideshow7"}
],
overlay: '/themes/mysite/images/overlays/01.png'
});
を持っていた私は
public static $has_one = array(
'Slideshow1' => 'Image',
'Slideshow2' => 'Image',
'Slideshow3' => 'Image',
'Slideshow4' => 'Image',
'Slideshow5' => 'Image',
'Slideshow6' => 'Image',
'Slideshow7' => 'Image',
);
$fields->addFieldToTab('Root.Slides', new UploadField('Slideshow1', 'Slideshow Background Image:'));
$fields->addFieldToTab('Root.Slides', new UploadField('Slideshow2', 'Slideshow Background Image:'));
$fields->addFieldToTab('Root.Slides', new UploadField('Slideshow3', 'Slideshow Background Image:'));
$fields->addFieldToTab('Root.Slides', new UploadField('Slideshow4', 'Slideshow Background Image:'));
$fields->addFieldToTab('Root.Slides', new UploadField('Slideshow5', 'Slideshow Background Image:'));
$fields->addFieldToTab('Root.Slides', new UploadField('Slideshow6', 'Slideshow Background Image:'));
$fields->addFieldToTab('Root.Slides', new UploadField('Slideshow7', 'Slideshow Background Image:'));
変数をHTMLに渡さ取得されてきたが、それは
<div class="vegas-slide-inner" style="background-image: url($Slideshow1); background-color: rgba(0, 0, 0, 0); background-position: center center; background-size: cover;"></div>
として示しアセットフォルダからの画像の読み込みの代わりに
現在はスライドが動作するようにハードコードされていますが、将来はCMS経由で画像を追加したいと考えています。ありがとう!
イメージを 'has_many'リレーションとして保存することを検討するか、スライドショーに正確に7つのイメージが常に必要なのでしょうか? – wmk
このサイトを作った人は、単にHTMLからCMSサイトに変換していたので、彼女は自分が持っていたものを使っていました。彼女はCMSで編集可能にする方法を知っているかどうかを尋ねてきたので、うまくいくと思った。われわれが試してみたように、彼らはそれを持っていたやり方で働かせて、それをよりカスタマイズ可能なものに切り替えようと思った。 –