ConfigurationのMEDIAの中にある
Image stylesから設定する。
ラベル
Server
(108)
work
(77)
Idea
(68)
Car
(31)
PC
(29)
DAW
(28)
other
(19)
MakingWEBsite
(18)
趣味
(18)
health
(13)
CentOS
(11)
drupal
(11)
山
(9)
android
(4)
スマホ
(4)
communication
(3)
drupal7
(3)
hint
(3)
meno
(3)
モバイル
(3)
歯医者
(3)
第二種電気工事士
(3)
英語
(3)
PC Server
(2)
drupal8
(2)
ms access
(2)
uwp C#
(2)
めし
(2)
整備
(2)
音楽
(2)
MIDI
(1)
diy
(1)
会計
(1)
動画再生
(1)
生活
(1)
郵便
(1)
食べ物
(1)
2014年2月28日金曜日
2014年2月27日木曜日
drupal 写真の挿入方法と、 写真がが表示されない時のチェックする場所
Content typesのところのContent typeを追加で作る過程で、そこに写真用のフィールドをつくる。
その後、Contentに移動し、今作ったコンテントの追加作業をし、そのコンテントがそこに表示されると、それを編集できるようになる。
そこで編集(edit)をクリックするとフィールドに写真をアップできる画面が表示される。
つまずいたのは、写真をアップした後でそれがサイト上に表示されないこと。
確認した作業は
写真がほんとにフォルダーにアップされているのかどうか。
リンクされているアドレスは正しいか。
PHPのGDがenabledになっているのかどうか。
フォルダーのアクセス権など(まぁ、今日はwindows上のことなのであまり関係ないけれど)。
解決、
Content typesのコンテントの設定をするところにmanage displayという項目があって、そこで表示のオン、オフと、サムネイルの大きさの設定ができるのを見つけた。
そこの表示設定がオフになっていた。
ちなみに、
テンプレート上で写真を表示させるコードは
<?php print render($content['写真']); ?>
になる。
で、"写真"の表示をする。
['写真'])をとると、コンテンツ全部を順番に表示させる。
そこいら辺のことは、テンプレートのコメントアウトの説明を読めば書いてある事が多い。
それと、もう一つトラブルがあって、解決するのに時間がかかったことがあった。
Home » Administration » Configuration » Media
の"Image styles"で画像のの大きさとかエフェクトを追加するわけだけど、
その時、"Image style name"と"Machine name"と2種類の名前があって、Machine Nameは、Image style nameを入力したとき同時に同じ名前が自動で入ってしまう。
その時Machine Nameを元にして画像を入れるフォルダーをdrupalが自動で作るの。
ただ、後からImage style nameを変更しても、その時はMachine nameが元のままで変わらない。
そういうときに、フックなどでImage style nameを使って画像を指定すると、その画像のそのフォルダーは元のままなので、不在になってしまい表示されない。
それを訂正するために(フォルダーの名前を合わせるために)自分でMachine nameを書き換えて、ずれた名前をそろえてやらなければならない。書き換えるとその名前でフォルダーが自動で新たに作られるのでちゃんと表示されるようになる。
その後、Contentに移動し、今作ったコンテントの追加作業をし、そのコンテントがそこに表示されると、それを編集できるようになる。
そこで編集(edit)をクリックするとフィールドに写真をアップできる画面が表示される。
つまずいたのは、写真をアップした後でそれがサイト上に表示されないこと。
確認した作業は
写真がほんとにフォルダーにアップされているのかどうか。
リンクされているアドレスは正しいか。
PHPのGDがenabledになっているのかどうか。
フォルダーのアクセス権など(まぁ、今日はwindows上のことなのであまり関係ないけれど)。
解決、
Content typesのコンテントの設定をするところにmanage displayという項目があって、そこで表示のオン、オフと、サムネイルの大きさの設定ができるのを見つけた。
そこの表示設定がオフになっていた。
ちなみに、
テンプレート上で写真を表示させるコードは
<?php print render($content['写真']); ?>
になる。
で、"写真"の表示をする。
['写真'])をとると、コンテンツ全部を順番に表示させる。
そこいら辺のことは、テンプレートのコメントアウトの説明を読めば書いてある事が多い。
それと、もう一つトラブルがあって、解決するのに時間がかかったことがあった。
Home » Administration » Configuration » Media
の"Image styles"で画像のの大きさとかエフェクトを追加するわけだけど、
その時、"Image style name"と"Machine name"と2種類の名前があって、Machine Nameは、Image style nameを入力したとき同時に同じ名前が自動で入ってしまう。
その時Machine Nameを元にして画像を入れるフォルダーをdrupalが自動で作るの。
ただ、後からImage style nameを変更しても、その時はMachine nameが元のままで変わらない。
そういうときに、フックなどでImage style nameを使って画像を指定すると、その画像のそのフォルダーは元のままなので、不在になってしまい表示されない。
それを訂正するために(フォルダーの名前を合わせるために)自分でMachine nameを書き換えて、ずれた名前をそろえてやらなければならない。書き換えるとその名前でフォルダーが自動で新たに作られるのでちゃんと表示されるようになる。
2014年2月26日水曜日
drupal windows wamp server 文字化け
wamp文字化け対策。
C:\wamp\bin\apache\Apache2.4.4\bin\php.ini
の中の
[mbstring]
の設定でmysql上の文字セットと合わせる。
自分の場合は、
mbstring.internal_encoding = UTF-8
その後、サーバーの再起動、
drupalの
Appearanceから"Save configuration"
Configuration>DEVELOPMENT>Performance
から"CLEAR CACHE"
をする。
C:\wamp\bin\apache\Apache2.4.4\bin\php.ini
の中の
[mbstring]
の設定でmysql上の文字セットと合わせる。
自分の場合は、
mbstring.internal_encoding = UTF-8
その後、サーバーの再起動、
drupalの
Appearanceから"Save configuration"
Configuration>DEVELOPMENT>Performance
から"CLEAR CACHE"
をする。
drupal bartik フィールド値の抜き出し
フィールド値の抜き出し
bartikのテンプレート、node.tpl.phpの中に、こう書いてある。
$content: An array of node items. Use render($content) to print them all,
* or print a subset such as render($content['field_example']).
以下、その説明。
http://customfield.jp/tutorial/demo1/content/117
からの切取り。
(ここで言う
node--forrent.tpl.php
は、node.tpl.phpと思っていい。書き換える前のものを指しているので。)
----------------------------------------------------------------------------
node--forrent.tpl.php の中の、以下の部分を探してください。
<?php
// We hide the comments and links now so that we can render them later.
hide($content['comments']);
hide($content['links']);
print render($content);
?>
実は print render($content); の部分で、コンテンツの各フィールドを含む内容の出力をすべて担っています。変数 $content の中には表示すべき各フィールドの内容が含まれ、レンダー関数は子要素を再帰的にレンダリングするためです。特定のフィールドのみをレンダリングしたい場合は、
<?php print render($content['フィールド名']); ?>
のようにします。たとえば「敷金(field_deposit)」フィールドを表示したい場合は、
<?php print render($content['field_deposit']); ?>
となります。これを、いわゆるブログでいうところのテンプレートタグのように使い、あとはデザイン担当者が好きなようにHTML を使ってマークアップし、 <?php /* ~ */ print render($content); ?> の部分と置き換えてください。
----------------------------------------------------------------------------
bartikのテンプレート、node.tpl.phpの中に、こう書いてある。
$content: An array of node items. Use render($content) to print them all,
* or print a subset such as render($content['field_example']).
以下、その説明。
http://customfield.jp/tutorial/demo1/content/117
からの切取り。
(ここで言う
node--forrent.tpl.php
は、node.tpl.phpと思っていい。書き換える前のものを指しているので。)
----------------------------------------------------------------------------
node--forrent.tpl.php の中の、以下の部分を探してください。
<?php
// We hide the comments and links now so that we can render them later.
hide($content['comments']);
hide($content['links']);
print render($content);
?>
実は print render($content); の部分で、コンテンツの各フィールドを含む内容の出力をすべて担っています。変数 $content の中には表示すべき各フィールドの内容が含まれ、レンダー関数は子要素を再帰的にレンダリングするためです。特定のフィールドのみをレンダリングしたい場合は、
<?php print render($content['フィールド名']); ?>
のようにします。たとえば「敷金(field_deposit)」フィールドを表示したい場合は、
<?php print render($content['field_deposit']); ?>
となります。これを、いわゆるブログでいうところのテンプレートタグのように使い、あとはデザイン担当者が好きなようにHTML を使ってマークアップし、 <?php /* ~ */ print render($content); ?> の部分と置き換えてください。
----------------------------------------------------------------------------
drupal bartikテンプレート 特定のコンテンツ(ノード)にだけ反映するテンプレートを作るには。 node.tpl.php
特定のコンテンツ(ノード)にだけ反映するテンプレートを作るには。
sites/all/themes/bartik/templates/node.tpl.php
を編集すると、全部のnodeに反映されてしまう。
特定のコンテンツにだけ反映させるためには、
node.tpl.php をコピーして node--{コンテンツタイプ名}.tpl.php とリネームして設置し、それを編集する。
コンテンツタイプ名は「コンテンツ」の「編集」(edit)をクリックすると下の方に出てくる「URL path settings」をクリックして、
「URL alias」を表示させれば、それがコンテンツタイプ名。だと思う。
(自分、まだよくわかっていない。未確認。)
設定が終わったら、下記の作業をして設定を反映させる。 Appearanceから設定の保存。
を実行した後、
Home » Administration » Configuration » Development
の
Performanceで、
CLEAR CACHEをする。
sites/all/themes/bartik/templates/node.tpl.php
を編集すると、全部のnodeに反映されてしまう。
特定のコンテンツにだけ反映させるためには、
node.tpl.php をコピーして node--{コンテンツタイプ名}.tpl.php とリネームして設置し、それを編集する。
コンテンツタイプ名は「コンテンツ」の「編集」(edit)をクリックすると下の方に出てくる「URL path settings」をクリックして、
「URL alias」を表示させれば、それがコンテンツタイプ名。だと思う。
(自分、まだよくわかっていない。未確認。)
設定が終わったら、下記の作業をして設定を反映させる。 Appearanceから設定の保存。
を実行した後、
Home » Administration » Configuration » Development
の
Performanceで、
CLEAR CACHEをする。
drupal フィールド設定のバックアップ、インポート、エクスポート
モジュール
Bundle copy
をインストールして、
Structure>Content types
の右上のタブから、
EXPORTか、IMPORTを選択。
登録:
投稿 (Atom)