freo.jpというPHPベースの便利なブログツールを利用させてもらってるんですが、いま二つほど困りごとで頭を悩ませてます。

二つともたぶんTinyMce絡みのような気がするんですが…

一つ目は、

添付ファイル画像をスライドショーさせる機能があって、これがW3CのValidationチェックでエラーになる

エラー内容は

「Bad value slideshow for attribute rel on element a: Keyword slideshow is not registered.」

最近気付いて対処に困ってますwww

rel属性値"slideshow"が不正でキーワード登録されていない(?)みたいな感じでしょうか?

Another HTML-lint5 gatewayのチェックでは満点なんですけど、W3Cの方でエラーになるとかなり気になります…

解決策(?)として

Syntax of link type valid for and :A whitespace-separated list of link types listed as allowed on and in the HTML specification or listed as an allowed on and on the Microformats wiki without duplicate keywords in the list. You can register link types on the Microformats wiki yourself.

って書いてあります。

ちなみに、このfreoのカスタマイズは、

「freoのentry(またはpage)で複数画像をcolorboxのスライドショーで表示する場合 - Web Liberty&freoカスタマイズ集」

を参考に、というかそのまんまのカスタマイズしかしていません。

ググってもコレというものに当たらない(というか解らない)。

二つ目は

エントリー記事の途中や最後に、別のテンプレート(外部htmlの定型文やリンク、js)を貼付けて投稿したい

と、思って調べたり色々やってみみたんですが上手くいかない。

html内容は具体的にいうと

&nbsp;</p><!-- AddThis Button BEGIN --><div class="addthis_toolbox addthis_default_style img_rfloat"><a class="addthis_button_facebook_like"></a><a class="addthis_button_tweet"></a><span class="addthis_separator">|</span><a class="addthis_counter addthis_pill_style"></a></div><script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-△△△"></script><!-- AddThis Button END --><p>&nbsp;

似たような機能で「オプション管理」という機能がありますが...

やってみた結果、というか別件で既に利用してるんだけど、これは投稿時に吐き出された内容自体を含めて各々データベース化される仕様みたいで、投稿してしまった後にテンプレート内容を変更しても自働では反映されない…

希望としては、一般的な

<?php include($_SERVER['DOCUMENT_ROOT'].'/○○○.html'); ?>

での挙動のように、外部htmlを都度参照展開してくれると助かる。

何故こんなことをしたいかというと、現状ではviewページ向けテンプレートに上記html内容を追記することで動いてはいるんですが、これだとトップページやカテゴリページ等のインデックスページには表示されない。

各インデックスページ用の別テンプレートにも同じ html内容を追記する と、見かけは表示されるけれども、そこで「いいね!」とかすると、結果は単一の記事に対してではなく、そのインデックスページ全体に対してかかってくる。

どの表示状態であっても個々のページに対して動作するようにするには、結局エントリー記事の入力文自体に貼り付けるしかないのでは?という結論に、現時点ではなってしまってます。

もっとじっくり時間をかけて勉強しながら試行錯誤するといいのかもしれないけど、そうもいってられない時期になってきたので...。

何か良案があれば何方様か是非ご教授いただきたいですm(__)m
 (記事作成者が私だけではないので、TinyMce自体は出来ればアンインストールしたくないです)

6/16/2012追記

一つ目の「スライドショー機能がW3CのValidationチェックエラー」に関しては自己解決しました。

「freoのentry(またはpage)で複数画像をcolorboxのスライドショーで表示する場合 - Web Liberty&freoカスタマイズ集」

のページ後半の

「このページのターゲットに対する関係」のところが「start」だと分かりにくいので「slideshow」にしたいときは」

以降を参考に「start」を「slideshow」に変更してたんですが、どうやらこれがW3Cのエラーに繋がるようで、「start」に戻したらエラーはなくなりました。

rel属性には標準的な「Stylesheet」や「Contents」、「canonical」等、標準定義された(?)もの以外使っちゃダメってことですかね!?

ただ、過去のブログデータ内には既に「slideshow」設定になってるものが相当数あって...

これは、データベースのデータを一括置換することで一発解決しました。
以下覚書。

☆文字列を一括置換するSQL文 - 文字列関数 REPLACE() 
SELECT REPLACE(カラム名,'置換対象','置換後の文字') FROM テーブル名; ↓
SELECT REPLACE(text,'rel="slideshow"','rel="start"') FROM freo_entries; UPDATE テーブル名 SET カラム名=REPLACE(カラム名,"置換対象","置換後の文字"); ↓
UPDATE freo_entries SET text=REPLACE(text,'rel="slideshow"','rel="start"');

こういうときって、データベース便利ですよね♪

そういえば、2つ目の問題も、データベースに直接追記すれば解決するのかしら??とかフト思いましたけど...日常でブログ更新の度に毎度毎度データベースを直接いじるのなんて...

この記事が気に入ったら
フォローしよう

最新情報をお届けします

Twitterでフォローしよう

おすすめの記事