top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_1247

Drupal views:フォーラムの方にも助けられ、少し近づいた。見える(view)ぞ。独自の使い方ながら一応、「使えるな」を自覚 ・・・ 【今日のDrupal】

 2010-01-26
 昨日は、Drupalviewsモジュールと格闘。
 嵌りました。
 ・・・結果は、追記にあるように、単なる勘違い
    だったのですが、まだまだかって知らずの身にはきつい。

 それでも、Drupalフォーラムで的確なご回答をいただき解決。
 symfony もそうですが、こういったフォーラムに助けられることは
 本当に多いもの。いつか私も「助けられる」側に回りたいものです。


 本日の after。
 現在、引越し中・・・創ったmetaboy
 一応ここまで来ました。


 今日はこの右サイトバーに関わる記録。


  追記に (長文ご容赦) ▼


FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more

************************************************
◎  viewsモジュールが、嵌ったおかげで、少し見える(view)? の巻
           :Drupalはどう?

************************************************


 やりたいことは、特に難しいことではなく


 ・Drupal のコンテンツタイプのうち
  ・bookpage を利用して
   ・創った小物ツール紹介頁は、すべてこの bookpage に統一。
   ※絞込みを コンテンツタイプのみにできるシンプルさで配慮。
 ・これを右サイドバーに
  ・viewsモジュール
   ・ページャー や Ajax機能利用させてもらい配置
 といったもので、
 おそらく熟練者の方には簡単!
 ・・・だと思うのですが。

 敵は意外なところにいました。


 私のツールの習得方法と、疲れによるもうろうとした頭・・・


 【顛末】
 □コンテンツを bookpage として登録
  ※ここは、特に問題ありません。

 □viewsを新しく作成
  ※前に他で創ったものを「複製」して用意。
   (ここ、一つ目の要注意)


 □viewsで、コンテンツのうち
  ・nid(ノードid)
  ・タイトル
  ・更新日
  などを表示させるよう設定。
 さして、変わったことはしていません
  ※さして、変わったことはしていません。


  この状態で、
  □このまま、管理セクションでプレビューすると・・・
 このまま、管理セクションでプレビュー
   レイアウトはテンプレート側で行うので、
   巣のままの値が得られればOK。


 □ブロックも用意していたので
   (ここ、2つ目の要注意!)
  ・右サイドバーに 配置して・・・


 □実サイトで確認。
 タイトルしか出てこない・・・
   あれ!?
   ・タイトルしか出てこない・・・


  ここから、嵌ること 6時間・・・


 

  ・テンプレートの中での変数状況を確認しようと・・・
foreach ($fields as $id => $field):
$tempVals[$field->class] = $field->content;
echo "[field->class]:".$field->class."<br />";
endforeach;
 content の中調べたり・・・
   ・template.php の中身を調べたり・・・
   ・他のテーマに差し替えてみたり・・・
  結局、
foreach ($fields as $id => $field):
print_r($field->handler->view->result);
endforeach;
 とすれば、
Array
(
[0] => stdClass Object
(
[nid] => 85
[node_data_field_links_category_field_links_category_value] =>
[node_type] => book
[node_vid] => 84
[node_data_field_links_category_field_links_type_value] =>
[node_data_field_links_category_field_links_tourl_value] =>
[node_title] => タイトル
[node_changed] => 1264410367
)
・・・
 として値はとれそうで、
 このタイトル以外の値も含まれていることは確認。

  それでも、こんなことはおかしい!? ・・・と。


 □フォーラムに助けを求める
  ・その後、ネットで同じような症状はないか探しまわったが見つからず・・・
  ・phpでのハンドリングの参考になる
   ・PHP snippets | drupal.org
   なども探したり・・・
  ・Advanced Help 入れたり・・・


  万事休す。
  そうだ! 前に一度お世話になった、Drupal フォーラム
  聞いてみよう!
  > viewsで、ブロック表示で、タイトル以外の値が表示されない・・・教えいただけますでしょうか?


  ★(またもや)一発解決!
   ありがとうございました!

 ■理由
  ・私の意識が朦朧としていた
  ・基礎的な使い方を勘違いしていた
  ・views が壊れていた(?)
  どれかの理由だと思うおですが、


  □viewsの設定部分で、(何故か?)
 このまま、管理セクションでプレビュー
   タイトルしか 設定されていない!
   ※当然 defaultに切り替えると、タイトル以外も存在する。


   これか!
   で、
    ・このブロックを削除し、
    ・default をもう一度確認。
    ・改めて、ブロックを用意し
    ・[サイトの構築] > [ブロック] で
     新しくブロックを配置した後、実サイトで確認すると


   (前置き長いな)


   > 無事表示。
     フォーラムでお教えいただいたひとことがビンゴ!でした。

  ふぅ~。
  この半日無駄にしたような気もしますが、しかし
  凄い勢いで情報を捜し求め、なんだか、少し
  views が近づいてきたような気がします。
  見えて(view)来た!?


 その後・・・


 

 ■テンプレートでのハンドリング
  値が前に
  ・リンク集を用意したときにとれること
   わかっているので、
   ・views:やっとわかったよ、viewsのハンドリング。しかしすべてを管理画面で行うのは少々煩わしいな ・・・ 【今日のDrupal】
$tempimg = "";
$tempitemurl = "";
$tempVals['link_aurl'] = drupal_lookup_path('alias',"node/".trim(strip_tags($tempVals['nid']))); # URLエイリアス
if($tempVals['link_aurl']){ $tempPATH = $tempVals['link_aurl'];
$tempimg = explode("/",$tempVals['link_aurl']);
$tempimgurl = "/images/items/item_".$tempimg[2].".jpg";

$tempimg = "<p class='imgbox80'><img alt=\"".strip_tags($tempVals['title'])."\"".
" title = \"".strip_tags($tempVals['title'])."\"".
" src=\"".$tempimgurl."\" width='80' /></p>";

}else{ $tempPATH = "node/".trim(strip_tags($tempVals['nid'])); }

$tempitemurl = "<a href=\"/".trim(strip_tags($tempPATH))."\"".
" title=\"".strip_tags($tempVals['title'])."\">";

echo "<div>";
if($tempimg!=''){ echo $tempitemurl.$tempimg."</a>"; }
echo $tempitemurl.strip_tags($tempVals['title'])."</a><br />";
echo "<span style=\"font-size:90%;\">".strip_tags($tempVals['changed'])."</span></div>";;
echo "<p><br clear='all' /></p>";
 とハンドリング。
  メンテナンスフリーにしたくて
  □画像ファイルは
   urlエイリアスで登録される最後のフォルダ名前に統一し
   自動取得
  □画像は縦長で、統一されていないので、
   css利用して、画像をちょん切り
   固定のサイズで表示されるように調整。ちなみに、cssは、
<style type="text/css">
.imgbox80{ float: left; overflow:hidden; width:80px; height:80px;
vertical-align: top; margin:8px;
}
.imgbox80 img{ margin:0; border: 0;}
</style>
 これで、80x80 で画像を
 ちょん切れる。

  ▼


 完成。
 完成
 views のAjaxによるページャーを利用させていただく
  views のAjaxによるページャーを利用させていただく。
 さ、次は・・・と。

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/1247-3f5a3565
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

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