![](https://xoops.ryus.co.jp/themes/ryus2015/images/bloglink.png)
スタッフブログ
xelfinderで画像をUPしてブログ記事を書こうとしたらアップロードした画像が表示できずに"No input file specified."になって困ってたんですが、coreserverでの有名な問題みたいですね。
No input file specified.と出たら ≫ 運営堂
上記ページにあるとおり、.htaccessに
mod_gzip_on Off
を追加したら画像が表示されるようになりました。
htmlを書く感覚で作れるので、通常のページであまり書き換えが行われない固定的なページにはpicoを使うことが多いです。
私の場合、以前から使ってきて必ずカスタマイズする部分や必ずデフォルトの一般設定から変更するという作業が発生していました。
今回それらについてデフォルトのままインストールしてもカスタマイズやデフォルトの一般設定を変えなくてもそのまま使えるようにpicoをカスタマイズしてみました。
いつものカスタマイズではなく、picoの本体自体にカスタマイズをして再配布可能なように作りました。コアチームにpullリクエストをしてありますので、もし賛同が得られて、取り入れてもらえれば今後のpicoがこのように変わると思います。
RYUSの場合、実績ページなどをpicoで作っています。そのコンテンツを元に改造前と後を見比べてみましょう。
実績ページは3つのカテゴリに分け、その中にコンテンツを置いています。
今現在ですとこのような構成になっています
実績・事例←モジュール名をこのように変更してある
└社内システム開発←カテゴリー名
└社内システム開発事例←コンテンツ
└WEBシステム開発←カテゴリー名
└WEBシステム開発事例←コンテンツ
└その他の事例←カテゴリー名
└お客様事例 -デジタルハリウッド大学大学院教授 三淵啓自先生 ←コンテンツ
└お客様の声 株式会社ノード様 ←コンテンツ
これをデフォルトのpicoで表示したものと、pico自体にカスタマイズをしたもので見比べてみます。
まずはモジュールのトップページ
【改造前】
上記の ピンク色の文字 で書いた部分をいつもカスタマイズしていましたが、新しく改造したpicoで表示するとデフォルトでこのようになります。
【改造後】
これらは一般設定で選択することで、今までの表示のようにも出来るようになります。
一般設定
同様にカテゴリーのトップページも変更しました
【改造前】
【改造後】
メニュー、RSSのリンクはデフォルトでは出さないようにして、トップという表示もモジュール名にしました。
コンテンツページです。一番よく修正するのが表題を表示することでしたのでそのようにしてみました。
【改造前】
【改造後】
一般設定で以前と同じ表示にも出来ます。
その他、今までデフォルトで「はい」になっているけれど大概の場合「いいえ」としていた項目を最初から「いいえ」にしてみました。それらの項目は以下のものです。
ページナビゲーションを表示する
印刷画面へのリンクを表示する
友達に紹介するリンクを表示する
tellafriendモジュールを利用する
投票機能を利用する
今時点でこのpicoのソースはこちらに置いてあります。
このページの右下の方にある Download ZIP をクリックするとzipファイルでダウンロードすることが出来ますので、試してみたい方は是非どうぞ♪
xupdateで"SSL certificate problem: unable to get local issuer certificate"となった時の対処法
Ryuji : XOOPS » モジュール 2013/10/3 10:06XOOPS X(ten)では、xupdateというモジュールやテーマのダウンロードとアップデートをしてくれるモジュールがあります。(次期XOOPS Cube Legacyコアにも取り込まれる予定です)
このxupdateでモジュール等をダウンロードしようとしたときに、サーバによっては次のように"SSL certificate problem: unable to get local issuer certificate"というエラーがでてダウンロードに失敗することがあります。
このときは、xupdateの一般設定で「cURL: SSLホスト認証をしない」を「はい」に変更すると正常にダウンロードできるようになります。
さくらのレンタルサーバスタンダードでこの症状に遭遇しましたので、さくらのレンタルサーバご利用の肩は設定変更して試してみてください。
http://ryus.co.jp/modules/d3blog/details.php?bid=358
を使ったページが紹介されました。
ミタカフェ?三鷹にあるコワーキングスペース
ミタカフェメンバー一覧
http://mitacafe.co/modules/xoopsmembers/
明るくて分かりやすいページになってますね!usersの情報だけでなくプロフィールモジュールの情報も掲載できるので、サイトに合わせて内容も色々変えられます。
![](https://xoops.ryus.co.jp/images/blog/blog20121030.jpg)
設定方法が若干変わっています。FacebookとTwitterのkeyとsecretを取得する部分はこちらを参照してください。
TPソーシャルメディアを使ってXOOPS CubeにFacebookログインする
http://ryus.co.jp/blog/tpsocialfacebook/
TPソーシャルメディアを使ってXOOPS CubeにTwitterログインする
http://ryus.co.jp/blog/tpsocialtwitter/
先日行われたXOOPS Cube初心者勉強会で「Facebookとかでログイン機能ってないんですか?」と質問をされました。TOKYOPenではその機能を作ってあったのでXOOPS Cubeで使えるようにしてみました!
SoialMedia説明動画
下記のリンクからダウンロードすることができます。
TPソーシャルメディア
ダウンロード
ダウンロードしたら解凍してください。
htmlとxoops_trust_pathフォルダがありますので、インストールしたいサイトの該当するフォルダに中身をコピーします。
サイトの管理画面 互換モジュール>モジュールのインストール から SocialMedia をインストールします。
Facebookとtwitterのログイン機能を利用するには「どのサイトにログインさせる機能なのか」を登録してKeyとSecretを取得する必要があります。
別ページでまとめて説明していますので取得に関してはこちらをご覧ください。
Facebookとtwitterのkeyとsecretを取得する
http://ryus.co.jp/socialkeysecret.html
管理画面左ブロックにある SocialMedia をクリックします。
![](https://xoops.ryus.co.jp/images/blog/20121011/SocialMedia1.png)
FacebookとtwitterのKey,Secretを入力する画面になります。
ここに先ほどの説明で取得したKeyとSecretを入力して[登録する]をクリックします。
Facebookだけtwitterだけでも登録可能です。
ここまで設定できたらログアウトしてサイトを見てください。
左ブロックにソーシャルボタンが表示されています。
![](https://xoops.ryus.co.jp/images/blog/20121011/SocialMedia2.png)
[Facebookでログイン]をクリックすると確認画面が2つ出ます。
![](https://xoops.ryus.co.jp/images/blog/20121011/SocialMedia3.png)
![](https://xoops.ryus.co.jp/images/blog/20121011/SocialMedia4.png)
続行して進むと、設置したサイトに戻ります。
[twitterでログイン]の場合も同様で、このような画面が表示されます。
![](https://xoops.ryus.co.jp/images/blog/20121011/SocialMedia6.png)
戻った画面はこのようなになります。
![](https://xoops.ryus.co.jp/images/blog/20121011/SocialMedia5.png)
すでにXOOPSユーザー登録してあるIDに結びつけたい場合は左の赤枠の入力域に入力します。
新しくアカウントを作成したい場合は右の緑枠の入力域に入力します。
[登録する]ボタンをクリックするとログインしてサイトに入ることができます。
次回以降は[Facebookでログイン]あるいは[twitterでログイン]をクリックするだけでログインできるようになります。
簡単にログインできるようになりましたね(^^)♪
うさぎにもできるXOOPS Cube入門にインストールしてみましたので「すぐに試してみたい!」という方はこちらで確認してみてください。
http://usadeki.jp
ここにインストールするときに問題が起こりました。管理画面でKeyとSecretを登録する画面のボタンが押してもサブミットされないという状況です。調べてみるとこのボタンはjqueryを使っていましたが、管理画面のテーマではjqueryを読み込んでいなかったために何の反応もなかったようです。
表側のテーマにはjqueryを読み込む部分があったのでその行をコピーしたりして、
\modules\legacy\admin\theme\admin_theme.html
に行を追加しました。
の前あたりにこれらの行を追加すれば、古いxclでも動くかもしれません♪
// 追加したところ
そのお話をしたら、今回nouphetさんが最新のXOOPS Cubeでも使えるように改造してくれましたのでご紹介します!
ダウンロード
https://github.com/nouphet/xoopsmembers/zipball/master
上記のURLからダウンロードします。
解凍すると nouphet-xoopsmembers-54e427f のようなフォルダができます。この中にある htmlフォルダの下のmodulesの下のxoopsmembersというフォルダを使いたいサイトのルートのmodulesの下に入れます。
あとは管理画面からインストールするだけです。
表画面のメインメニューに 登録メンバー一覧 というリンクが表示されるのでクリックすると登録メンバーの一覧を見ることができます。
![](https://xoops.ryus.co.jp/images/blog/xoopsmembers.png)
まだ作ったばかりですので、ご希望などありましたらFacebookの
XOOPS Creators
http://www.facebook.com/groups/xoops.creators/
で書いてみてくださいね
![](https://xoops.ryus.co.jp/uploads/smil3dbd4d4e4c4f2.gif)
ダウンロードからインストールまで
ダウンロードはここから
http://ryus.co.jp/modules/d3downloads/index.php?page=singlefile&cid=3&lid=94
tpMailform.zipというファイルがダウンロードされるので任意の場所に保存してください。
解凍すると tpMailform というフォルダに
js
modules
preload
というフォルダができるのでこれを丸ごとルートディレクトリにコピーします。
管理画面 モジュールのインストール で mailformをインストールします。
企業サイトによくあるお問い合わせを作ってみる
インストールが終わったらメールフォームを作ってみましょう!
コーポレートサイトなどに良くあるお問い合わせを作ってみます。
会社名
氏名
メールアドレス
お問い合わせ区分(見積もり、連絡、その他)
メッセージ
会社名は任意入力項目、それ以外を必須としてみます。
http://XOOPS CubeのURL/modules/mailform/
にアクセスします。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image.jpg)
フォーム新規作成
をクリックします。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image1.jpg)
フォームタイトルをいれる部分に お問い合わせ と入力し、確認画面に進み登録します。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image2.jpg)
登録が終わると自動的に一覧画面に移動します。
今作成したお問い合わせがあります。ので画面設定をクリックします
![](https://xoops.ryus.co.jp/images/blog/20120802/Image3.jpg)
基本的に使いそうな項目がデフォルトで設定されています。
足りない項目 お問い合わせ区分 会社名 を追加します
項目を追加するには追加したい位置の1行上の項目でクリックし 行を追加する をクリックします
![](https://xoops.ryus.co.jp/images/blog/20120802/Image4.jpg)
メールアドレスの下に一行追加されました
![](https://xoops.ryus.co.jp/images/blog/20120802/Image5.jpg)
ここで新しい行の項目名を お問い合わせ区分 とします。名称未設定(任意) とあるところをクリックします
![](https://xoops.ryus.co.jp/images/blog/20120802/Image6.jpg)
テキストエリアに変わるのでここに「お問い合わせ区分」といれます
![](https://xoops.ryus.co.jp/images/blog/20120802/Image8.jpg)
お問い合わせ区分は必須にしたいのでこの項目の (任意) をクリックすると(必須)に変わります。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image9.jpg)
次は入力部分を作ります。ラジオボタンにしたいので右側にあるパレットの ラジオ をクリックしてドラッグします。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image10.jpg)
![](https://xoops.ryus.co.jp/images/blog/20120802/Image11.jpg)
選択肢を設定します
ラジオボタンのところでクリックすると一覧が出ますので 入力欄設定 をクリックします
![](https://xoops.ryus.co.jp/images/blog/20120802/Image12.jpg)
入力欄設定画面がポップアップされます
![](https://xoops.ryus.co.jp/images/blog/20120802/Image13.jpg)
選択肢を入力します。初期値は今回は付けないので空欄にしておきます
![](https://xoops.ryus.co.jp/images/blog/20120802/Image14.jpg)
元画面に戻っても今入力した選択肢が表示されませんが、後ほど確認できますのでここはこのまま進んでください。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image15.jpg)
次に会社名項目を設定します。ここでは行の移動をお見せしたいのであえて最後に追加します。お問い合わせ内容をクリックして先ほどと同じように会社名をいれます
![](https://xoops.ryus.co.jp/images/blog/20120802/Image16.jpg)
パレットの テキストボックス からドラッグします。会社名の入力欄の下に説明をいれてみます。テキストボックスの下をクリックして、「*法人の場合はご入力ください」といれてます
![](https://xoops.ryus.co.jp/images/blog/20120802/Image17.jpg)
あとはこの会社名行をお名前の上に移動します。行の右にある 移動する ボタンをクリックして移動したい位置までドラッグします
![](https://xoops.ryus.co.jp/images/blog/20120802/Image18.jpg)
これで全ての項目が終わったので [画面設定を保存する] をクリックします。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image19.jpg)
先ほどは表示されなかったお問い合わせ区分の選択肢も出ていることがわかります。
作ったメールフォームを公開する
公開する前にメールアドレスの設定を確認します。
http://XOOPS CubeサイトのURL/modules/mailform/index.php?controller=form_list
に戻り 基本設定 をクリックします。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image20.jpg)
内容を確認して修正したい部分があれば修正します。
一覧に戻ります
公開したいと思いますので一覧の お問い合わせ行 の状況 未公開 をクリックします
![](https://xoops.ryus.co.jp/images/blog/20120802/Image21.jpg)
[フォームの受付を開始する]をクリックします。
受付を開始するとフォームの修正はできませんので、確認が終わっていればここでもう一度、[フォームの受付を開始する]をクリックします。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image22.jpg)
これでフォームを作成することができました。
![](https://xoops.ryus.co.jp/images/blog/20120802/Image23.jpg)
こんばんわ。なおとです。
picoはコンテンツを作成および管理するために、とても重宝してます。
使っていく中で、場合によっては部分的に機能を付け足したりできると良いなと思うことがあります。 機能のバランスもあるので必ずしもそうあるべきとも言えないのですが、私が、「変えたい度」が比較的高いと感じた箇所を“ハック”してみようと思います。
ここを変えたい
picoで扱う内容を、「コンテンツ」と「カテゴリー」の2つに分けたとすると、コンテンツについてはかなり至れり尽くせりで、機能的に不足を感じることはあまりないと言えます。
それと比較的する形で言うと、カテゴリーには思うところがあります。
カテゴリーの説明にはhtml形式で内容を書けるのですが、自動的に変換がかかるために癖があります。 しかも、「オプション」でその動作を変更できそうでいて、実は変えられない作りになっています。 以下は「カテゴリー編集」というリンクから呼び出せる、カテゴリーマネージャーの一部です。
特に改行をbr要素に変換しているため、テーブル要素などに影響がでます。
お仕事でサイト構築などしていると、時にはこのように、重箱の隅的なところなのですが、機能面での改造が必要になってきます。
こうしたい
コンテンツの編集では、フィルターのON/OFFだけでなく、適用する順序を指定することができます。 それと同じであればより良いと思いますが、そこまで高機能でなくてもよさそうです。
まずは「xcode」「smiley」「nl2br」だけ、ON/OFFを切替えできるようにします。
手を加える箇所
修正するファイルは、「XOOPS_TRUST_PATH/modules/pico/class/PicoModelCategory.class.php」です。 作業前に念のため、バックアップしておきましょう。
修正前:getData4html()【148行目から】
function getData4html() { $myts =& PicoTextSanitizer::getInstance(); return array( 'link' => pico_common_make_category_link4html($this->mod_config, $this->data), 'title' => $myts->makeTboxData4Show($this->data['cat_title'], 1, 1), 'desc' => $myts->displayTarea($this->data['cat_desc'], 1), 'weight' => intval($this->data['cat_weight']), ) + $this->data; }
※ブログに掲載するために、インデント(空白)を変えています。
修正後:getData4html()
修正前と修正後を参考に、メソッド「getData4html()」を入れ替えます。
function getData4html() { $myts =& PicoTextSanitizer::getInstance(); $cat_desc = $this->data['cat_desc']; if (array_key_exists('filters', $this->data['cat_options'])) { $filters_row = $this->data['cat_options']['filters']; } else { $filters_row = ''; } $TareaOptions = array( 'xoopstpl' => 0, 'html' => 1, 'smiley' => 1, 'xcode' => 1, 'image' => 1, 'br' => 0, 'nbsp' => 0, 'number_entity' => 0, 'special_entity' => 0, ); $TareaOptions['xcode'] = ($this->checkFilterOption($filters_row, 'xcode')) ? 1 : 0; $TareaOptions['smiley'] = ($this->checkFilterOption($filters_row, 'smiley')) ? 1 : 0; $TareaOptions['br'] = ($this->checkFilterOption($filters_row, 'nl2br')) ? 1 : 0; return array( 'link' => pico_common_make_category_link4html($this->mod_config, $this->data), 'title' => $myts->makeTboxData4Show($this->data['cat_title'], 1, 1), 'desc' => $myts->displayTarea( $cat_desc, $TareaOptions['html'], $TareaOptions['smiley'], $TareaOptions['xcode'], $TareaOptions['image'], $TareaOptions['br'], $TareaOptions['nbsp'], $TareaOptions['number_entity'], $TareaOptions['special_entity']), 'weight' => intval($this->data['cat_weight']), ) + $this->data; }
追加する:checkFilterOption()
getData4html()の直後に「checkFilterOption()」を追加します。
function checkFilterOption($filterName, $filterOption) { if (empty($filterName) or empty($filterOption) or !is_string($filterOption)) { return false; } if (strpos($filterOption, $filterName) === false) { return false; } else { return true; } }
この先
この改造を土台にすれば、他のフィルターを使えるようにするなどはできそうです。 興味のある人は挑戦してはいかがでしょうか。
PR: XOOPS Cubeのカンファレンスを開催いたします 2010年4月3日(土)
こんにちわ。なおとです。
Shioriモジュールを使ってみることにしました。
それで簡単な説明と、気づいた点を書いていこうと思います。
概要
- モジュール名 Shiori(サイト内ブックマーク)
- ディレクトリ名 shiori
- バージョン 1.02
- モジュール説明 このモジュールはサイト内のページをブックマークするためのモジュールです。
- モジュール作者 Suinさん http://suin.asia/
いわゆるXOOPS2時代に開発されていた、栞(最終バージョン 0.51)の後継版です。 すっかり作り替えたそうです。
PHPのバージョンがある程度より古いと、動作しない(サポート外)ようです。 PHP 5.2.4 以上 (mbstring 必須)。
ダウンロードしました
Shiori 1.02 | スイナシア (説明、 「shiori」なエントリー)
インストール
さっそく付属の説明書を確認しました。
readme_ja.html という名前のファイルです。 配布元のサイト以上に、詳しいことが書いてあるようです。 以後はこれを読んで、その内容のまま進めてみます。
インストール手順はごくオーソドックスで、モジュールのインストールに慣れた方であれば、悩むことはないでしょう。 そのあたりはちょと端折って説明します。
インストールの最初は、サーバーにファイルを配置しました。
管理画面の「モジュールのインストール」で、インストールしました。
また説明の通りに、ブロックのインストールと権限の設定もしました。
ここまでで、基本的な機能が使えるようになりました。
カスタマイズなど
説明書にある動画を見ました
Shioriモジュールのワンクリックブックマーク機能 | スイナシア
★型のアイコンをクリックすると、そのアイコンがくるくる回る画像になって、ブックマークできる様子が見えます。 これに挑戦しました。
説明書の通りに、ユーザーメニューを修正しました。
詳しいことは省きますが、残念ながらこれだけでは、動画のような動きにはなりませんでした。
変更1:ブロックのテンプレートを変えました
スタイルシートで非表示になっているので、それを解除します。
修正するファイル 互換モジュール
legacy_block_usermenu.html
修正前(説明書にある追加部分)
<a href="<{$xoops_url}>/modules/shiori/"><img src="<{$xoops_url}>/modules/shiori/images/unbookmarked.png" id="shiori_bookmark_star" style="float:right;display:none;" rel="<{$xoops_url}>" />Bookmark</a>
修正後(スタイルシートを修正)
<a href="<{$xoops_url}>/modules/shiori/"><img src="<{$xoops_url}>/modules/shiori/images/unbookmarked.png" id="shiori_bookmark_star" style="float:right;" rel="<{$xoops_url}>" />Bookmark</a>
注意点:テーマによっては、サーバーのファイルを修正する必要があります
大抵のケースでは、テンプレートの修正はALTSYSを使うと便利です。 管理者メニューから、書き換えたいテンプレートを編集できます。
しかし使っているテーマによっては、その方法が通用しません。 「hd_default」がこれに該当します。 「テーマ下テンプレート」と言われる仕組みでテンプレートを管理しているので、それを書き換える必要があるのです。
しかも、全てのテンプレートがテーマ下テンプレートになる訳ではなくて、hd_defaultに同梱されていた(+自身で追加した)テンプレートだけがそのようになります。 この条件に合ってないテンプレートは、いつものように、ALTSYSで編集できます。
修正するファイル
html/themes/hd_default/templates/legacy_block_usermenu.html
変更2:画像のパーミッションを変えました
これは、大抵のひとには問題にならないと思われます。
問題となるのは、サーバーの中でZIPファイルを直接展開しているなどで、 ZIPファイルが作成された時のパーミッションをそのまま引き継いだ場合です。
これを修正しました。
html/modules/shiori/images/ の中の画像ファイルは全て、「644」にします。
サイト名は省きたい
ブックマークには名前(ページ名)が付くのですが、それにサイト名も一緒に入っていて、これは変えたいと思いました。 どうやらこの文字列は、title要素のテキスト(ブラウザのタイトルバーに表示されている)が使われるようです。
この部分はテンプレートの修正で対応可能です。 こちらはALTSYSで編集しました。
管理者メニューでALTSYSの管理画面を開き、さらに「テンプレートの管理」というサブメニューを辿って、Shioriモジュールのテンプレートを見付けます。
修正するテンプレート Shioriモジュール
shiori_block_bookmark.tpl
修正前(テンプレートの最後のほう)
document.write('<input type="hidden" name="title" value="' + document.title + '" />');
修正後(repleceを追加)
document.write('<input type="hidden" name="title" value="' + document.title.replace('XOOPS Cube Site - ', '') + '" />');
「XOOPS Cube Site - 」の部分は、サイト名+「(スペース)(マイナス)(スペース)」です。 もしこのブログ記事を読んで同じことする場合は、各自のサイトで使っているサイト名を当てはめます。 これで、サイト内のブックマークではサイト名が付かないようになりました。
一般設定の説明
おまけです。
- 項目名 (初期値)
- ブックマークの最大保存件数 (30)
- 1ページ当たりに表示するブックマークの件数 (30)
- URLを入力して登録できるようにする (いいえ)
- 外部のサイトへのブックマークを許可する (いいえ)
「ブックマークの最大保存件数」は、各ユーザーが一人でブックマークできる件数でした。
「1ページ当たりに表示するブックマークの件数」は、Shioriの画面でブックマーク一覧を見るとき、に使われる設定になっています。
以上です。
XOOPS Cube日本サイトのニュースのページから新着情報を見ることが多いのですが、一昨日この中にXOOPS汎用データベースモジュール 0.1リリースというニュースがありました。
汎用データベース(以下汎用DB)とは何かと言うと、名前の通り、どんな用途にでも使えるデータベース、ということになります。
Accessとか使ったことがある方は、あれをXOOPS上で行うものだと思えばわかりやすいと思います。
項目を自由に定義して、そこに自由にデータを入力することができます。社員名簿、出欠記録、売上記録、商品リストなど、様々な用途で利用することができます。
XOOPSでは既にwaffleという汎用DBモジュールが存在しますが、選択肢が増えるのはいいことなので、今回はこちらを試してみたいと思います。
![](https://xoops.ryus.co.jp/themes/ryus2015/images/bloglink.png)