Archive   RSS   (Login)

まぁそのまんま備忘録で

Category: スポンサー広告
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Category: XCL
Tags: XCL  SmoothGallery  mootools  myAlbum-P  
Mediabox×SmoothGallery 2
今回はスムースギャラリってみます。
前回の
MooTools-1.2.4-core-yc.js.txt
mediaboxAdv-1.2.0.js
と合わす為にVarは
Smooth Gallery 2.1dev
というか現状では全て最新

前回上記を入れてある状態は
[設置フォルダ]
 │
 │
 ├ [js]
 │ ├ mootools-1.2.4-core-yc.js
 │ ├ mediaboxAdv-1.2.0.js
 │ ├ mediaboxAdvWhite.css
 │ └ NonverBlaster.swf
 │
 └ [images] 
     ├ 50.gif
     └ 以下省略

なので落としたSmooth Gallery 2.1devから
mootools-1.2-more.js
jd.Gallery.js
jd.Gallery.css
を[js]へ入れて
css/img 以下の画像を
[images]へ入れます。


[設置フォルダ]
 │
 │
 ├ [js]
 │ ├ mootools-1.2.4-core-yc.js
 │ ├ mediaboxAdv-1.2.0.js
 │ ├ mediaboxAdvWhite.css
 │ ├ NonverBlaster.swf
 │ ├ mootools-1.2-more.js
 │ ├ jd.Gallery.css
 │ └ jd.Gallery.js
 │
 └ [images]
     ├ carrow1.gif
     └ 以下省略


そしてjd.Gallery.cssに記述されている画像のパスを変更します。
"img/"のパスになっているので、上記ディレクトリ構成の場合は"../images/"となります。


そして<head>内に
<link rel="stylesheet" type="text/css" media="screen" href="/box/js/jd.gallery.css" />
<script src="/box/js/mootools-1.2-more.js" type="text/javascript"></script>
<script type="text/javascript" src="/box/js/jd.gallery.js">
を追加

前回と合わせると
<link rel="stylesheet" type="text/css" media="screen" href="/box/js/jd.gallery.css" />
<link rel="stylesheet" type="text/css" media="screen" href="/box/js/mediaboxAdvWhite.css" />
<script src="/box/js/mootools-1.2.4-core-yc.js" type="text/javascript"></script>
<script src="/box/js/mootools-1.2-more.js" type="text/javascript"></script>
<script src="/box/js/mediaboxAdv-1.2.0.js" type="text/javascript"></script>
<script src="/box/js/jd.gallery.js" type="text/javascript"></script>
となるわけです。

jd.gallery.jsよりmootools系のjsを先に読み込ませないとエラーになるようです。


そしてここからはXCLの話が混ざっちゃうんだけどmyAlbum-Pの特定のカテゴリの画像を
picoなんかにSmoothGallery使ってスライドショーさせちゃおうって事になるんだけど

一応 「xoops_block Smartyプラグイン 1.1(function.xoops_block.php)」を
XOOPSルートディレクトリの /class/smarty/plugins/ にいれておく。
(※何故かなくてもpicoは読み込む)


そんでpicoのコンテンツ作成で


<{xoops_block mod="myalbum" func="b_myalbum_topnews_show" opt="myalbum,5,50,1,0" assign="slideshow"}>
<script type="text/javascript">
function startGallery() {
var myGallery = new gallery($('myGallery'), {
timed: true,
showArrows: false,
showCarousel: false,
showInfopane: false,
embedLinks: true,
delay: 5000,
fadeDuration: 2000
});
}
window.addEvent('domready',startGallery);
</script>

<div id="myGallery" style="float:left;">
<{foreach item=photo key=count from=$slideshow.photo}>
<div class="imageElement">
<h3><{$photo.title}></h3>
<p></p>
<a href="<{$photo.description}>" title="<{$photo.title}>" class="open"></a>
<img src="<{$xoops_url}>/uploads/photos/<{$photo.lid}>.<{$photo.ext}>" class="full" alt="" />
<img src="<{$xoops_url}>/uploads/thumbs/<{$photo.lid}>.<{$photo.ext}>" class="thumbnail" alt="" />

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



を作成

optは
モジュールディレクトリ名(myalbum)
表示画像数(5)
titleテキストの文字数(50)
カテゴリid(1)
サブカテゴリを含めるかどうか?(0)

assignに入力した名前(上記だとslideshow)とカテゴリID(上記だと1)でmyAlbum-Pにカテゴリを作成。

このままだとデフォのブロックで使用していない<{$photo.description}>を読み込まないので
/modules/myalbum/blocks/myalbum_topnews.php の
40行目付近に


$result = $xoopsDB->query( "SELECT l.lid , l.cid , l.title , l.ext , l.res_x , l.res_y , l.submitter , l.status , l.date AS unixtime , l.hits , l.rating , l.votes , l.comments , c.title AS cat_title , t.description FROM $table_photos l LEFT JOIN $table_cat c ON l.cid=c.cid LEFT JOIN $table_text t ON l.lid=t.lid WHERE l.status>0 AND $whr_cat ORDER BY unixtime DESC" , $photos_num , 0 ) ;
$count = 1 ;
while( $photo = $xoopsDB->fetchArray( $result ) ) {
$photo['description'] = $myts->displayTarea( $photo['description'] , 0 , 1 , 1 , 1 , 1 , 1 ) ;
$photo['description'] = mb_strcut(strip_tags($photo['description']),0,60);

$photo['title'] = $myts->makeTboxData4Show( $photo['title'] ) ;




これで<{$photo.description}>を読み込むようになるのでそこにURL記載でリンクをはれる。

そんでまぁ好きなところに 例 <{pico dir="pico" id="1"}> みたいな感じで呼び出せば幸せになれるんじゃなかろうかと

スポンサーサイト
Category: XCL
Tags: XCL  Mediabox  myAlbum-P  
XCLのBBcodeからのMediabox投稿Preload
XOOPS_ROOT_PATH/preload/ へ


<?php

if (!defined('XOOPS_ROOT_PATH')) exit();

class Mediabox extends XCube_ActionFilter
{
function preBlockFilter()
{
$this->mRoot->mTextFilter->mMakeXCodeConvertTable->add(array(&$this, 'bbcode'), XCUBE_DELEGATE_PRIORITY_1);
}
function bbcode(&$patterns, &$replacements)
{
$patterns[] = "/\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1 lb=(['\"]?)([^\s]*)\\3 title=(['\"]?)([^\s]*)\\5](.*)\[\/url\]/sU";
$replacements[0][] = $replacements[1][] = '<a href="\\2" rel="lightbox[\\4]" target="_blank" title="\\6">\\7</a>';
$patterns[] = "/\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1 lb=(['\"]?)([^\s]*)\\3](.*)\[\/url\]/sU";
$replacements[0][] = $replacements[1][] = '<a href="\\2" rel="lightbox[\\4]" target="_blank">\\5</a>';

$patterns[] = "/\[siteurl=(['\"]?)([^\"'<>]*)\\1 lb=(['\"]?)([^\s]*)\\3 title=(['\"]?)([^\s]*)\\5](.*)\[\/siteurl\]/sU";
$replacements[0][] = $replacements[1][] = '<a href="'.XOOPS_URL.'/\\2" rel="lightbox[\\4]" target="_blank" title="\\6">\\7</a>';
$patterns[] = "/\[siteurl=(['\"]?)([^\"'<>]*)\\1 lb=(['\"]?)([^\s]*)\\3](.*)\[\/siteurl\]/sU";
$replacements[0][] = $replacements[1][] = '<a href="'.XOOPS_URL.'/\\2" rel="lightbox[\\4]" target="_blank">\\5</a>';

$patterns[] = "/\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1]\[img(.*)\[\/img\]\[\/url\]/sU";
$replacements[0][] = $replacements[1][] = '<a href="\\2" rel="lightbox[\\4]" target="_blank">[img\\3[/img]</a>';

$patterns[] = "/\[siteurl=(['\"]?)([^\"'<>]*)\\1]\[siteimg(.*)\[\/siteimg\]\[\/siteurl\]/sU";
$replacements[0][] = $replacements[1][] = '<a href="'.XOOPS_URL.'/\\2" rel="lightbox[\\4]" target="_blank">[siteimg\\3[/siteimg]</a>';

$patterns[] = "/\[url\=(['\"]?)([^\"'<>]*)\\1\](.*)\[\/url\]/sU";
$replacements[0][] = $replacements[1][] = '<a href="\\2" rel="lightbox[\\4]" target="_blank">\\3</a>';
}
}
?>



Mediabox.class.phpとしてうp

Category: XCL
Tags: XCL  myAlbum-P  
myAlbum-P 統合 & ダブル設置
とりまXCLで一個統合
http://www.xugj.org/modules/xpwiki/?ModuleManuals%2FmyAlbum-P
「xoops_url/modules/イメージマネージャとして使うmyalbum/preload/Preload.class.php」をutf-8で作成し、下記のコードを貼り付け。


<?php
class Myalbum_Preload extends XCube_ActionFilter
{
function preBlockFilter()
{
$root =& XCube_Root::getSingleton();
$root->mDelegateManager->add('Legacypage.Imagemanager.Access',
array($this, 'overRideDefaultImageManager'),
XCUBE_DELEGATE_PRIORITY_FIRST);
}


function overRideDefaultImageManager()
{
require_once dirname(dirname(__FILE__)).'/imagemanager.php';
}
}

$dir = ucfirst(basename(dirname(dirname(__FILE__))));
$class_name = sprintf('%s_Preload', $dir);
if (!class_exists($class_name)){
eval(sprintf('class %s extends Myalbum_Preload{}', $class_name));
}



で統合は完了。

次、二つ目はローカルの
myalbum/をmyalbum0/へ名前を変更して
さっき作った/preload/Preload.class.phpはmyalbum0/の方には作らないで
myalbum0/をうpして複製

/modules/legacy/templates/legacy_xoopsform_dhtmltextarea.html
の6行目に


<a href="#" onclick='javascript:openWithSelfMain("<{$xoops_url}>/modules/myalbum0/imagemanager.php?target=<{$element->getId()}>","imgmanager",400,430); return false;'><img src='<{$xoops_url}>/images/image.gif' alt='image' /></a> 



を追加。

※追記
なぜかpicoの編集画面でtextareaの幅が管理画面からテンプレートを弄っても変わらなくなったので
legacy_xoopsform_dhtmltextarea.html の一番下の行に style='width:95%;' を追加。

<textarea style='width:95%;'id='<{$element->getId()}>' name='<{$element->getName()}>'~




最後に
modules/myalbum0/templates/myalbum0_imagemanager.html 
の55行目付近
<form action="<{$xoops_url}>/imagemanager.php" method="get"> を
<form action="<{$mod_url}>/imagemanager.php" method="get"> に変更。


モジュール管理画面から互換モジュール(LEGACY SYSTEM XCL)をアップデート
モジュール管理画面からマイアルバム0(myalbum0)をアップデート

二つのmyAlbum-Pの管理画面でGDからImageMagickへ変更
ImageMagickの実行パス(convertの存在するディレクトリ)
例 /usr/local/bin
アップロードできる最大ファイルサイズは、初期設定が100kbiteだが、これでは長辺500pxの画像でもアップが厳しい。なので適当に変更。



二つ目のmyalbum0をGallery風に使うなら
myalbum0_index.html の39行目付近


<table width='100%' cellspacing='0' cellpadding='10' border='0'>
<{foreach from=$photos item=photo}>
<{include file="db:myalbum_photo_in_list.html"}>
<{/foreach}>
</table>


を下記に。


<{foreach from=$photos item=photo}>
<div style="width:120px; height:120px; display:block; border:1px solid #CCC; margin:0px 3px 3px 0; overflow: hidden; float:left;">
<a href="<{$photo.imgsrc_photo}>" target="_blank" rel="lightbox[new added]" title="<{$photo.title}>"><img src='<{$photo.imgsrc_thumb}>' <{$photo.width_spec}> alt='<{$photo.title}>' title='<{$photo.title}>' /></a>
</div>
<{/foreach}>
<div style="clear:both;"> </div>

03 | 04  (2017) | 05
SUN MON TUE WED THU FRI SAT
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
最新コメント
最新トラックバック
プロフィール
QR

F

Author:F
 
携帯の方はこちら >>

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。