ラベル

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年9月11日木曜日

自分のdrupal を再構築するときのためのメモ

最初にclean URLsがonになっているかどうかの確認して、offならばonにする。
(clean URLsは、URLをわかりやすい短いURLに直して表示してくれる機能。今回は、pathautoを使うときにこれが必要。)
Home » Administration » Configuration » Search and metadata

sites/all/themes/テンプレート名/templatesフォルダの中の自分で作った*.phpテンプレートを全てコピーペースト。

drupalのページテーマを自分のテーマに変えた後で
admin/structure/menu/settings
で、Main linksとSecondary linksを非表示にさせる(Secondary linksはログインなどを表示させてもいいかなぁ。と、今、考え中)。
Taxonomy menuモジュールがMain menuとしかリンクできないしMain linksにTaxonomyを表示させると親の表示はできるが、子の表示ができないことからMain menuはTaxonomy menuモジュールを使っても親子表示のできるSidebar firstを使う。

admin/structure/blockで
「Sidebar first」へ
Main menu

「Sidebar third」へ
Management
Navigation
User login
User menu
を持ってくる。

「Header」へ
「Search form」
を持ってくる。

「Footer」の
「Powered by Drupal」
を外す。

次にSearchのpermissionを設定、Indexをつける。
admin/people/permissions
(Home » Administration » People)
Administer searchはADMINISTRATORだけオン。
Use searchはANONYMOUS USER、AUTHENTICATED USER、ADMINISTRATORを全部オン。
Use advanced searchは、AUTHENTICATED USERとADMINISTRATORをオン。

searchをちゃんと動かすにはコンテンツの文字にIndexをつける。
まず、
admin/config/search/settings
(Home » Administration » Configuration » Search and metadata)

Minimum word length to index
を、
「3」から「2」へ変更。
(2文字の検索をしたいことが多いから2文字にしたが、PCへの負担が多いようなら後で3に戻しておくこと。)
次に
INDEXING STATUS
を見て、
100% of the site has been indexed. There are 0 items left to index.
と、100%となっているのかを確認。
なっていなければ、
Re-index siteというボタンを押して、
admin/config/system/cron
(Home » Administration » Configuration » System)
のcronを走らせる。

次に、モジュールのアンインストール。
Toolbar
Overlay
の順にモジュールをオフにする。


次にモジュールのインストール

Forum(これはデフォルトでインストール済み、チェックを入れるだけ。)

Taxonomy menu
これは、main menuにForumのTaxonomyリストを表示させるために使う。
これだけだと、main menuのForumのTaxonomyのリストをクリックしたとき、アドレスは
Taxonomy自身のアドレスになってしまい、フォーラムが表示されない。

具体的な例として
フォーラムを表示したいのなら、
/forum/8
とアドレスが表示されなければならないが、
/taxonomy/term/8
と表示されてしまう。

それを避けるために、Pathautoモジュールを使って、Taxonomyのアドレスが表示されたときに、それに対応したForumを表示するように設定する。

上の例でいうと、
/taxonomy/term/8
と表示されたときに、/forum/8のフォーラムを表示させるようにする。
(もう少しスマートな方法があればいいのだけど。今のところ他のモジュール、他の方法はうまくいっていない。drupal8を導入時に、自分でモジュールを作りたい。)

ということで、Pathauto moduleのインストール。
Pathauto module を動かすためにToken moduleのインストールが必要(ctoolsも必要。)。
これは、今書いたように、自分の場合は、Taxonomyで表示されるアドレスをフォーラムへ振り替えるために使用する。
Pathautoをインストール後、
admin/config/search/path/patterns
に書いてあるパターンは全て削除。
その後、
admin/config/search/path

ALIASが作成されていないかをチェック。
されていれば、全て削除。
その後、
admin/config/search/path/patterns

FORUM PATHSへ
taxonomy/term/[term:tid]
を追加。
その後、
admin/config/search/path/update_bulk
でForum Pathsにチェックを入れて
Updateする。
admin/config/search/path

ALIASが追加されたのを確認する。

admin/config/search/path/patterns
での設定を一回しておけばこの後、自動でALIASを作っていく。

これでForumの一覧をTaxonomy_menuモジュールを使ってサイドバーに表示させることができる。
admin/structure/taxonomy/forums/edit
(Home » Administration » Structure » Taxonomy » Forums)
で、
Menu locationの「= DISABLED =」を「Main menu」へ変更。

admin/structure/menu/manage/main-menu
で、「Home」リンクをdeleteする。

Main menuの題を
「Main menu」から「Forum list」へ変える。
ファイル、
includes\menu.inc
の中の、
    'main-menu' => 'Main menu',

    'main-menu' => 'Forum list',
へ変更する。
上のやり方みたいにファイルを書き換えなくても書き変えることができた。
(だから、Forum listをMain menuに戻しておいた。)
admin/structure/block/manage/system/main-menu/configure
(Home » Administration » Structure » Blocksのmain menuのconfigure)
で、Block titleへタイトルを入れるとそのタイトルが表示される。
今はMemos listForum listになっている。

次に、自分で作ったオリジナルのノードページUsers sorted by workを表示させる。

最初に
admin/structure/taxonomy
で、
Add vocabulary
からvocabularyを追加。名前は適当で大丈夫。
自分はthingstodoにした。
そこに、Export Carsとか、適当にいくつかのタームを追加。

次に
admin/config/people/accounts/fields
(Home » Administration » Configuration » People » Account settings)
で、
Add new fieldをする。
node--1.tpl.phpのdb_queryでyooを使ってしまったので、
ここではLabel名はyooにして、マシン名をfield_yooにしておく。
マシン名がfield_yooに決定されれば、Label名は表示させたい名前に変えてかまわない。
FIELD TYPEはTerm reference。
WIDGETはCheck boxes/radio buttons。
saveして、
Vocabularyは先のボキャブラリthingstodoを選ぶ。
それをsaveして、
次の画面で
Number of valuesはunlimitedを選択。
これで下準備は完了。

ここで、適当にTitleをUsers sorted by workにしたコンテンツを作ると、それがnode1になって、node/1が表示される。

次に、node1コンテンツををメニューに加える。
modules/node/node.tpl.phpがノードのテンプレート。
これが全ノードのテンプレートになるわけだが、例えばnode/1だけ自分のオリジナルテンプレートを適応させたい場合。
まず、admin/contentで、コンテントを追加する。
そのコンテントのノード番号が1なら、
node--1.tpl.php
のテンプレートが適用される。
(自分の場合は、このテンプレートはこの文の最初の方で既にコピーペースしてある。)

これをmenuに追加する。
admin/structure/menu

Information
というメニューを追加する。
その後、
add linkから、

Menu link titleを
Users sorted by work

Pathを
node/1

に設定する。
このInformationを、sidebar thirdに登録する。

次はユーザー毎に仕事などを表示するコンテンツを作る。
これは、viewsモジュールをインストールしてviewsで作る。
これはその場その場で適当に作ればいいだけ。
完成したコンテンツの追加方法は上と一緒。
Permissionの設定は、
PAGE SETTINGS

Access
で、
Role
を選び、
その後で表示される所で、許可をするユーザーを選ぶ。


あとから付け足し
admin/config/system/site-information
で、
Default front page

forum
にする。

サイトのユーザー欄にそのユーザーのSNS、webページを載せられる用にする。
admin/config/people/accounts/fields
Add new fieldに
My web site, My SNS

FIELD TYPEに
Textを選択。
あとは、saveして、適当に設定を進めていく。
(Required field
Display on user registration form.
にチェックを入れて
Number of valuesは3)

2015/04/07現在のBlockの状態
Header
Search form
System help

Content
Main menu

Sidevar first
Main menu
Management
Navigation
User Login
User menu

Sidebar second
Information

Sidebar third
Recent comments
Recent content

2017/05/25 付け足し
forumにおいて、
登録した一般ユーザーの
新しいコンテンツの作成許可。
自分自身のコンテンツの訂正と削除
の許可をする。

admin/people/permissions
Home » Administration » People » permissions

node
Forum topic: Create new content
Forum topic: Edit own content
Forum topic: Delete own content

AUTHENTICATED USER
にチェックを入れる。




0 件のコメント:

コメントを投稿