XPressME Integration Kit

フォーラム

Re: FCKeditor他、プラグインの互換について

#2848
toemon
キーマスター

サイトのほう確認させていただきました。

アコーディオンメニューのスクリプトは、

picoのテンプレート「*_block_menu.html」に記述しております。

テンプレート側を同様の内容に編集して、Lightbox2、wp-lightpopでイメージのポップアップができない状態を再現できました。

但し、

「Lightbox2 2.8.2」については、

写真や図解を表示させることが多いので、

できれば導入したいのですが、全く反応しません。

プラグインの管理画面で各設定を行い、

“Save Changes”をクリックすると、なぜか404 Errorになります。

の部分は際限できませんでした。

まず、picoのテンプレート「*_block_menu.html」のほうですが

記述されている内容

<br />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd"><br />
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><br />
<br />
<head><br />
<br />
<script type="text/javascript" src="<{$xoops_url}>/common/lib/jquery.js"></script><br />
<script type="text/javascript" src="<{$xoops_url}>/common/lib/ddaccordion.js"><br />
<br />
/***********************************************<br />
* Accordion Content script- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)<br />
* Visit http://www.dynamicDrive.com for hundreds of DHTML scripts<br />
* This notice must stay intact for legal use<br />
***********************************************/<br />
<br />
</script><br />
<br />
<script type="text/javascript"><br />
<br />
ddaccordion.init({<br />
headerclass: "silverheader", //Shared CSS class name of headers group<br />
contentclass: "submenu", //Shared CSS class name of contents group<br />
revealtype: "mouseover", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"<br />
mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover<br />
collapseprev: true, //Collapse previous content (so only one open at any time)? true/false<br />
defaultexpanded: [0], //index of content(s) open by default [index1, index2, etc] [] denotes no content<br />
onemustopen: true, //Specify whether at least one header should be open always (so never all headers closed)<br />
animatedefault: false, //Should contents open by default be animated into view?<br />
persiststate: true, //persist state of opened contents within browser session?<br />
toggleclass: ["", "selected"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]<br />
togglehtml: ["", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)<br />
animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"<br />
oninit:function(headers, expandedindices){ //custom code to run when headers have initalized<br />
//do nothing<br />
},<br />
onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed<br />
//do nothing<br />
}<br />
})<br />
<br />
</script><br />
<br />
<style type="text/css"><br />
<br />
.applemenu{<br />
padding: 0px;<br />
}<br />
<br />
.applemenu div.silverheader a{<br />
position: relative; /*To help in the anchoring of the ".statusicon" icon image*/<br />
width: auto;<br />
text-decoration: none;<br />
font-weight:bold;<br />
}<br />
<br />
.applemenu div.silverheader a:visited, .applemenu div.silverheader a:active{<br />
}<br />
<br />
.applemenu div.selected a, .applemenu div.silverheader a:hover{<br />
}<br />
<br />
.applemenu div.submenu{ /*DIV that contains each sub menu*/<br />
margin-left:3px;<br />
background: white;<br />
/*Height that applies to all sub menu DIVs. A good idea when headers are toggled via "mouseover" instead of "click"*/<br />
}<br />
<br />
</style><br />
<br />
</head><br />
<br />
<body><br />
<br />
<div class="applemenu"><br />
<{foreach item=category from=$block.categories}><br />
<div class="silverheader"><a>/<{$category.link}>"><{$category.title}></a></div><br />
<br />
<div class="submenu"><br />
<ol style="margin-left:20px ; padding-left:0"><br />
<{foreach item=content from=$category.contents}><br />
<li><a>/<{$content.link}>" title="<{$block.lang_lastupdated}>:<{$content.created_time_formatted}>"><{$content.subject}></a></li><br />
<br />
<{/foreach}><br />
<br />
</div><br />
<{/foreach}><br />
</div><br />
</body><br />
</html><br />

では、ページのソースを確認すると<BODY>~</BODY>内に

入れ子で<!DOCTYPE><head><html><body>が出現しますので、あまり面白くない状態ですので、そのあたりを考慮して、<body>~</body>内のコードだけをテンプレート側に置く方がよいと思います。

<br />
<div class="applemenu"><br />
<{foreach item=category from=$block.categories}><br />
<div class="silverheader"><a>/<{$category.link}>"><{$category.title}></a></div><br />
<br />
<div class="submenu"><br />
<ol style="margin-left:20px ; padding-left:0"><br />
<{foreach item=content from=$category.contents}><br />
<li><a>/<{$content.link}>" title="<{$block.lang_lastupdated}>:<{$content.created_time_formatted}>"><{$content.subject}></a></li><br />
<br />
<{/foreach}><br />
<br />
</div><br />
<{/foreach}><br />
</div><br />

その上で

<HEAD>~<HEAD>の部分はmodule_headerを読み込む前にテーマ側で記述するか、preloadで読み込むことで、Lightbox2、wp-lightpopともに問題なく実行することができました。