いつもお世話になっております。
http://www.mago.cc を作っておりますが、
こちらのお陰で、MTを使わずタダで!かなり軽い いいサイトができそうで嬉しいです。
こちらのフォーラムで教えていただいて、
SEOリンク対策でトップにテキストリンクをスキンで<%categorylist(default/index)%>と入れました。
これの順番を自在にするために、 カテゴリには <!--1-->ひだまり と名前をつけ 説明には ひだまり として
順番を数字順にし、表示には テンプレートの カテゴリー一覧の本体には
<a href="<%catlink%>" title="<%catdesc%>"><%catdesc%></a> と入れました。
しかし、
スキンでブログの最新情報を表示させるのに、
<%blog(default/index,5)%> と書いて、
テンプレートのアイテムの本体は、
<a href="<%categorylink%>" title="カテゴリ<%category%>">
<%category%></a>
<%date%></h6>
(サイト上では下の段右側の赤い文字になっているところにマウスオーバーしたら見えます)
<!--1--> となっているので、<%category%>を表示させるとページでは説明は出ません。
しかし、 マウスオーバーなどで alt とか title とかを表示させると 見えてしまいます。
同じテンプレート上なのに、<%catdesc%> となると表示できないんですね。
このあたりのルールは体で覚えるしかないのか?
title で表示させるのをあきらめたらいいのかもしれませんが、SEO対策としては、一つでも多くのキーワードを入れたいのが人情です。
無視して表示させたままはカッコ悪いし(デザインがカッコいいわけじゃないけど)。
いや、他にもっと カテゴリを順番にするうまい方法があるのか?
アドバイスをお願いします。
yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。
オフライン
同じテンプレート上なのに、<%catdesc%> となると表示できないんですね。
たしかに。このへんコアで一貫性を持たせて実装できればという感じがします。
と言いつつ解決策。NP_CatDescが使えるかも。
NP_ExtraSkinJPを利用してcatdescみたいな項目を自由に追加して利用するテもあります。
カテゴリーの並びの制御なら、NP_BlogMenuやNP_ContentsListを使うのがいいかも。
SEOということでなら、必ずしもキーワードが多いのがいいとは限らないような気がしますが。。
オフライン
なるほど、確かにテンプレートのアイテム本体のところで、<%catdesc%>、利きませんね。スキン変数では使える、<%category(desc)%>もここではだめです。ちなみに、ITEMACTIONS.php の153行目辺りを
function parse_category($type = 'name') {
switch($type) {
case 'name':
echo $this->currentItem->category;
break;
case 'desc':
global $blog;
echo $blog->getCategoryDesc($this->currentItem->catid);
break;
case 'id':
echo $this->currentItem->catid;
break;
}
}
とすると、<%category(desc)%>が使えるようになります。コアへの導入、どうでしょう?>Kimitakeさん/Andyさん
ここはプラグインが使えるところなので、コアの変更jなしで対処する簡単な方法としては NP_catdesc を作れば良いのでしょうけれど、他にあったらいいなというようなテンプレート変数(スキン変数にはあるのに、テンプレート変数には無いとか)ありますか?もしあれば、まとめて一つのプラグインにすればすっきりすると思います。
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?p=20219&highlight=#20219">viewtopic.php?p=20219&highlight=#20219</a><!-- l -->
最近だと「カテゴリー一覧やアーカイブ一覧で<%skinfile%>が使えない」というのがありました。
<%skinfile%>はどのテンプレートパーツでも使えたほうがいいと思います。
<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?p=9382#9382">viewtopic.php?p=9382#9382</a><!-- l -->
あと<%blogsetting%>とか。
オフライン
あ、質問の仕方が悪かったかもしれません :oops:
テンプレート中でプラグインが使えるのは、アイテムとコメントのところなので、他のテンプレート(カテゴリリスト・ブログリストなど)での機能追加は無理です。実は、無理やり出来ないことは無いのですが、そういったケースでは使用にあたって一連の儀式が必要だったりするので、実用的ではありません。
なので、<%skinfile%> はちょっと無理ですね(もともと、アイテムのところでは、何もしなくても使えますよね)。
<%blogsetting%> をアイテムテンプレート・コメントテンプレートで利用できるようにすることは可能です。
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
ITEMACTIONS.php の改造ありがとうございました。 ちなみにlibs の中ですね。
[size=200:r77f6r2y]絶対に便利だと思います。
カテゴリの順番は<%category(name)%>で数字を入れて単純に操作し、表示は
<%category(desc)%>を表示させるというようにしてしまったらいいと思います。
(でも、一番いいのは数字を横に入れたら順番になるというのが楽でいいですけどね)
ちなみに、CatDesc のプラグインでは思うようにならなかったです。
yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。
オフライン
http://wakka.xiffy.nl/tempvars
挙動を確認してませんが、こんなのも見つけました。
これも同じ種類のプラグインのような。
オフライン
http://wakka.xiffy.nl/tempvars
挙動を確認してませんが、こんなのも見つけました。
これも同じ種類のプラグインのような。
なるほど、需要はありそうですね。
今考えているコードでは、テンプレートで <%SomePlugin(catdesc)%> <%SomePlugin(blogsetting)%> ではなくて <%catdesc%> <%blogsetting%> が使えるようになります。
doTemplateVar()メソッドだけを持った小さなクラスを付け足していくだけで、機能が追加できる仕組みです。
アルファー版だけど、こんな感じで
<?php
class NP_TemplateEx extends NucleusPlugin {
function getName() { return 'NP_TemplateEx'; }
function getMinNucleusVersion() { return 220; }
function getAuthor() { return 'Katsumi'; }
function getVersion() { return '0.1'; }
function getURL() {return 'http://hp.vector.co.jp/authors/VA016157/';}
function getDescription() { return $this->getName().' plugin'; }
function supportsFeature($what) { return ($what=='SqlTablePrefix')?1:0; }
function getEventList() { return array('InitSkinParse'); }
var $skin;
var $skintype;
var $commands=array('catdesc','blogsetting');
function event_InitSkinParse(&$data){
global $manager;
$this->skin=&$data['skin'];
$this->skintype=$data['type'];
foreach($this->commands as $name) {
$name='NP_'.$name;
$manager->cachedInfo['installedPlugins'][]=$name;
$manager->plugins[$name]=new $name;
foreach($this as $key=>$value) $manager->plugins[$name]->$key=&$this->$key;
}
}
function doTemplateVar(&$item,$p1='',$p2='',$p3='',$p4='') {
global $manager;
if (in_array($p1,$this->commands)) return $manager->plugins['NP_'.$p1]->doTemplateVar($item,$p2,$p3,$p4);
}
function doTemplateCommentsVar(&$item,&$comment,$p1='',$p2='',$p3='',$p4=''){
return $this->doTemplateVar(&$item,$p1,$p2,$p3,$p4);
}
}
class NP_catdesc extends NP_TemplateEx {
function doTemplateVar(&$item,$p1='',$p2='',$p3='') {
global $blog;
echo $blog->getCategoryDesc($item->catid);
}
}
class NP_blogsetting extends NP_TemplateEx {
function doTemplateVar(&$item,$p1='',$p2='',$p3='') {
}
}
まだ、<%catdesc%>しか使えないので、注意してください。
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
NP_TempVars.php というのは、
これは複数ブログにおけるテンプレート(のカテゴリー説明)を自由に選べるようになるというもの?(英語なんでよけいにわかりませn)
複数ブログをまだ設置した経験がないのですが、ブログが複数あってもカテゴリを共通にしたり(逆にややこしいような?)カテゴリをブログごとに設置したりして 自由自在にできるんですか?
そんな巨大なサイトを構築することはないと思うので、私にはこのプラグインより、今回単純に書き変えてくれただけで大満足です。(ていうか、これは書き変えを標準にしておいたほうがいいんじゃないでしょうか?)
追加で書いてくださったプラグインは何ですか? 本当にすみませんが、
今考えているコードでは、テンプレートで <%SomePlugin(catdesc)%> <%SomePlugin(blogsetting)%> ではなくて <%catdesc%> <%blogsetting%> が使えるようになります。
doTemplateVar()メソッドだけを持った小さなクラスを付け足していくだけで、機能が追加できる仕組みです。
の意味がまったくわかりません。
解決しているので満足しているのですが、興味があってどうでもいいこと聞いてしまいました。
もしかして、まったく見当違いだったらすみません。
モデレーターさまの会話をジャマしたトウシローかもしれません。
yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。
オフライン
5つ上のコアの改造では、<%category(desc)%>が使えるようになりますが、上のプラグインでは、代わりに<%catdesc%>が使えるようになります。
コアの機能変更は、基本的には本家チーム(http://nucleuscms.org/)が行っているので、希望の機能変更が採用されるまで時間がかかるケースが殆どです(採用されない場合も)。なので、もし同じ事がプラグインで実現できるのならば、とりあえずそれで対応しておこうじゃないかという考え方です。
上記プラグインは、そういった事を比較的簡単な構造のプラグインで対応できる例として示したものです。
Nucleus-SQLite の配布は終了しました
VBScript / JScript で Win32API / 構造体 / コールバック関数: SFC mini
オフライン
コアの書き換えの提案に私のアイデアが生きた「かも」しれないと思うと嬉しいです。
nucleus にはまりそうです。
ありがとうございました。
yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。
オフライン
報告です。上記p=20324のハックを加えると、index表示のカテゴリー非選択状態の時と
個別アイテム表示の時にカテゴリー名が出力されなくなるみたいです。
http://nucleus.coolblog.jp/
たとえば上記サイトでいえば、「Category: General」「Category: moblog」などとアイテムごとに出力
されてますよね。これが出力されませんでした。
オフライン