2018-01-29

Drupal8,パンくずに現在のページ名を表示する

インストール時のパンくず(Breadcrumb)モジュールは、現在のページを表示しない。
そこで、現在のページを表示する次の方法がある。
  1. templates/breadcrumb.html.twig を作成する方法
  2. Extendを追加する方法
今回は Extendを追加する方法でやった。
  
Drupal バージョン 8.4.4
Extend名 :  Menu Breadcrumb
  

  
【 ダウンロードファイル名 】
menu_breadcrumb-8.x-1.5.tar.gz
  
【 ダウンロード 】
https://www.drupal.org/project/menu_breadcrumb
 
【 インストール(1) 】
解凍したフォルダーを
サイト名/modules/ に移動する。
パーミッションを確認(サーバーで異なる)
  
【 インストール(2) 】
機能拡張で Menu Breadcrumb にチェックを入れて、保存。
 
【 設定 】
モジュール 「Menu UI」を有効にする。
(管理 >> 機能拡張)
 
環境設定に「メニューパンくず」が追加されていることを確認する。
メニューパンくずの設定で以下の項目にチェックを入れる。
(各自表示条件に合わせて)
Enable the Menu Breadcrumb module
Disable for admin pages
Append current page to breadcrumb
Add "Home" link
 
※ 「Show current page as link」にチェックを入れると、現在のページもリンクとされる。
 
Enable / Disable Menus 項目では
「メインナビゲーション」の [有効] にチェックを入れる。
 
 【 結果 】

現在のページタイトル名 :  ABCDE
  
Extend インストール前
  ホーム
 
Extend インストール後
   ホーム ➤ ABCDE
 

以上

参考サイト
Drupal Study Note
 http://drupal.6krpm.jp/note/modules/menu_breadcrumb

《 追加メモ 》
上記設定通りいかなかった場合、
  1. 管理 >> サイト構築 >> ブロックレイアウト でパンくずブロックをもうひとつ作成する。正常に表示されたら、追加したパンくずブロックを削除する。
  2. 管理 >> 環境設定 >> Menu Breadcrumb で Enable / Disable Menus 項目のチェックを入れたり、外したりしてみる。

《 追加メモ2 》
drupal本体をアップデート前にアンインストールし、アップデート後にインストールする。設定はアンインストール時にリセットされるため、再設定が必要。

2018-01-26

MODX,サブメニューを常時表示する

MODXはCMSである。
古くからあるもので、余り大胆な変化をしていない印象を受けている。
一時開発が停滞していたようだが、最近は再び開発開始された様子。
特徴的なものの一つに、デザインは一般のホームページ作成ソフトでできること。他のCMS(wordpress、Joomla、Drupal、Xoopsなど)と比較すると作成しやすく、簡単なものであればHTMLとCSSの知識さえあればすぐにでも開発出来そうなくらいだ。
高度なものも作成可能で、Basic言語やPython言語程ではないが、ある種プログラム言語を学習するくらいの知識が必要である。いわゆる機能としての柔軟性もある。

■サブメニューを常に表示するチャンクを作成する。

最上部のメニューで、サブメニューのあるメニューを選択する。
サブメニュー一覧が特定エリアに表示される。
また、サブメニューのいずれかを選択しても、同じサブメニューが常に表示されている。

例として
---------------
メニュー階層
    A
    B━┳BB1
        ┣BB2
        ┣BB3
    C━┳CC1
           ┣CC2
    D
    E
-------------
選択メニュー        表示されるメニュー項目
      A            無し
      B            BB1, BB2, BB3
      BB1       BB1, BB2, BB3
      BB2       BB1, BB2, BB3
      BB3       BB1, BB2, BB3
      C            CC1, CC2
      CC1       CC1, CC2
      CC2       CC1, CC2
      D             無し
      E             無し


【 チャンク 】内容
[[Wayfinder? &startId=`p` &level=`1`
 &hideSubMenus=`true`]]

■応用として

サブメニューがある場合のみ
親メニュー、現在のメニューとサブメニューを表示する。
<@IF: [!Wayfinder? &startId=`i` &level=`2`
 &hideSubMenus=`true`!]>
<!-- 親メニュー --> 
    [*menutitle@u*]
<!-- 現在のメニュー -->
    [*menutitle*]
<!-- サブメニュー -->
    [[Wayfinder? &startId=`i` &level=`2`
 &hideSubMenus=`true`]]
<@ENDIF>
以上

2018-01-24

Joomla3,テンプレート作成,トラブル解決,その1

Joomlaは世界で最も人気が高いCMSの一つ。
Drupalと比べると、メンテナス性が高い。
 Wordpress同様に、本体のアップデートはもちろん、プラグインのアップデートもマウスのクリックだけで可能だ。
2018年中にJoomla4が登場すると言われている。

《 トラブル 》
テンプレートを作成している。
メニューの階層が2以上になると、テンプレートが崩れる。

《 原因 》
不明。
テンプレート作成時にミスがあったのか?

《 対処方法 》
 jQueryファイルとCSSファイルを読み込む設定で、
<script src='〜'
<link href='〜'

をそれぞれ

<script src="〜"
<link href="〜"

に シングルコーテーションからダブルコーテーションに変更すると、解決した。


2018-01-17

Drupal8エディタで文字色機能を追加

結論、インストール出来たが、機能しなかった。
有効になりました。(下部に追加記事あり)
どこかが間違っている可能性がある。

一応、インストール手順だけを記すことにした。

Drupal8 に装備されているエディタでは文字色を変更することは出来ない。
文字色を変更するには、タグを直接編集するか、他のエディタで作成しコピーする方法しかないようだ。
CKEditorは、フルで使用する例を下記のサイトで体験できる。
https://kcfinder.sunhater.com/demos/ckeditor
 

CKEditorは有料のため、商用として有料とサイトではうたわれているが、未確認。

【 Drupal バージョン 】
8.4.4
 
 【 インストール手順 】
文字色機能を使用するために4つの圧縮ファイルを解凍して、指定フォルダーに置く。
A)、C) の順に新しいモジュールとしてインストール作業をする。
 
 
【 必要ファイル 】
A) panelbutton-8.x-1.1.zip
B) panelbutton_4.8.0.zip
C) colorbutton-8.x-1.1.zip
D) colorbutton_4.8.0.zip


補足
C) をインストールするためには 予めA) をインストールしておかなければならない。
A)、C) をインストールするとエラー表示される。このとき、「それぞれB)、D)をインストールしなければプラグインとして認識されません」という趣旨のエラー内容である。
 
 
【 ダウンロード元 】
A) https://www.drupal.org/project/panelbutton
B) https://ckeditor.com/cke4/addon/panelbutton
C) https://www.drupal.org/project/colorbutton
D) https://ckeditor.com/cke4/addon/colorbutton
 
 
【 解凍後にファイルを置く場所 】
A) サイト名/modules/
B) サイト名/libraries/
C) サイト名/modules/
D) サイト名/libraries/
 
※ B)、D) の libraries フォルダーは新規作成した。
サイト名/sites/all/libraries/ フォルダーを新規作成した。
※ モジュールインストール作業後、 サイト名/libraries/ に置いたモジュールと同じファイルが、 サイト名/sites/all/libraries/ 以下に同じものが自動でコピーされていた。
  
 
【 機能を追加する 】
「拡張機能」項目でモジュールを新規追加する。
最初に A) を解凍した panelbutton をインストールする。
次に C) を解凍した colorbutton をインストールする。
panelbutton、colorbutton 共にインストールできたが・・・

補足 うまくいかない時
エラーが出るときは、もう一度ファイルを置く場所やフォルダー名のスペル、パーミッションを確認。
 
 
【 エディタの追加機能を使う準備 】
「環境設定」 >> 「テキストフォーマットとエディター」から ”文字色”、”背景色”アイコンを操作して使用できるように設定。
通常アイコン2つが表示されるはずが、アイコンの外枠のみの表示であった。ポップアップ文字には、”文字色”、”背景色”と表示はされていた。
いわゆる正常にアイコンが表示されていない。

また、背景色が赤い部分にエラーが表示されることがある。
このとき、「全てのキャッシュをクリアー」ボタンをクリックするか、一度ブラウザーのキャッシュをクリアーし再起動する。
記事を編集するときも同様なことが起きたが、前述の方法で解決できた。
 
 
【 追加した機能を試す 】
記事を編集しようとしたが、エディタ自体が表示されなかった。
 

作業記録は以上。
 
国内サイトではDrupalの情報が少ないため、海外のサイトを参考にここまでできたが後一歩のところで挫折。

以下追記 2019.09.06

CKEditorの文字色の機能が有効になった


プラグインのフォルダーを置く場所を以下のようにすると、文字色のアイコンが表示され、機能が有効になった。

カラーアイコン





移動対象のフォルダー名 colorbuttonpanelbutton

サイト名と同じフォルダーに  libraries フォルダーを作成する。
libraries内に colorbutton、panelbutton フォルダーを移動させる。


以上

× http://サイト名/libraries/colorbutton
× http://サイト名/libraries/panelbutton

http://libraries/colorbutton
http://libraries/panelbutton

理由はわからない。テンプレートは自作なため、ベースアドレスに問題がある可能性がある。



panelbutton と colorbuttontd を同時にインストールすると、エラーが出ることがあるため、1つづつインストールする。

 


#ckeditor, #drupal, #libraries, #colorbutton, #panelbutton
 

2018-01-14

Drupal8のテーマ作成にあたり、キャッシュを無効にする

■キャッシュ機能とは


CMSであるDrupal8には、キャッシュ機能がある。

既知の通りホームページは、文字、写真、動画や音の情報を組み立てて、見やすいように整形されてからブラウザに表示される。

ホームページを表示する際に、たくさんの部品(文字や写真など)を様々なフォルダーからかき集めて、最終的に決められた方法で文字や画像を整えて表示する。まるで自動車を完成させるために、多くの工場から部品を集めて自動車工場で設計図通りに組み立てる仕組みと似ている。

ホームページがブラウザに表示され、2回目以降同一のページが表示される場合には、初めて表示される同じ手続きで表示されると効率が悪い。そこで、出来る限り効率よくホームページを表示するために、多くの部品を集めて整形した状態を特定フォルダに保存する。同一ページが2回目以降呼び出された際には、特定フォルダーから完成されたページを直接呼び出し表示する。
これをキャッシュ機能という。

キャッシュ機能は効率よく素早く表示する長所があるが、短所もある。
表示された直後に文字内容や写真の表示位置が変更されても、変更内容が呼び出されず、変更前のまま表示されるため、リアルタイムで表示する場合には不便である。
最初に表示されてから、一定時間経過すると保存されたページの内容は自動削除されて、変更された新しい内容が表示される仕組みとなっている。



■なぜ、キャッシュ機能を無効にするのか?


ホームページのデザインを作成する際に、変更した内容はキャッシュ機能によってすぐに反映されない。反映させるには、一度表示された内容をパソコン上から削除しなければならない。デザインする際にいちいち昔のデータを削除する行為は、非効率である。だから、キャッシュ機能を無効にする。



■Drupal8のキャッシュ機能を無効にする方法


【 環境 】
OS : Linux Mint18
Drupal Version : 8.4.4
DataBase : SQLite

【 概要 】
キャッシュ機能を無効にするために、特定のフォルダー内にファイルを作成し、既存の内容に書き加えたり一部削除する。

【 方法 】

    ファイルの作成(1)
---------------------------------

/sites ディレクトリにある example.settings.local.php を /sites/default ディレクトリに settings.local.php という名前でコピーする。

    ファイルの編集(1)
---------------------------------

/sites/default/settings.php にある以下の内容がコメントアウトされているので、コメントを解除し、 ローカル用の設定ファイルを追加で読み込む。

    ▶settings.php 編集 (以下3行をコメントアウト  789行目辺り)
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}

※コメントアウト : 文頭に # 記号をつけて命令文として認識させないようにする。削除と同じ行為だが、命令文として復帰させる場合に容易である。
※コメントを解除 : 文頭の # 記号を削除し、命令文として認識させる。

    ファイル編集(2)
---------------------------------

コピーした sites/default/settings.local.php をテキストエディタで開き、以下のコメントを解除し(2箇所)、キャッシュを無効化する。

    ▶settings.local.php 編集 (以下1行をコメントアウト 67行目辺り)
$settings['cache']['bins']['render'] = 'cache.backend.null';


    ▶settings.local.php 編集 (以下1行をコメントアウト 76行目あたり)
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';


    ファイル作成(2)
---------------------------------

/sites ディレクトリにある development.services.yml をsites/default にコピーする。

    ファイル編集(3)
---------------------------------

sites/default/development.services.yml をテキストエディタで開き、以下の内容を追加記述しTwigのデバッグ機能を有効にする。

    ▶以下の5行をファイル末尾に追加
parameters:
  twig.config:
    debug: true
    auto_reload: true
    cache: false

キャッシュ機能を無効にする方法は以上。

もし、上記の方法でキャッシュが無効にならない(デザインの変更がすぐに反映されない)場合、管理画面にある”すべてのキャッシュをクリアー”ボタンを使用する。変更するごとにボタンを押して少し待つため、非常に時間のロスになる。

筆者も、少しの記述ミスで作動しなかったため、作動しない場合に他のサイトも参考に正しく手順を踏まえたか再度確認する。

キャッシュを無効にした際に、Drupalにエラーや警告が発生した。
テーマ作成上に支障はなかったようだった。
再び、キャッシュを有効にした際に、エラーや警告は無くなった。
上記方法でキャッシュ無効にする際は、自己責任でお願いします。

2018-01-13

Drupal8,ログインできなくなった,解決方法

【 状況 】

Drupal8にログインできなくなった。

ログインしようとすると、「ユーザー名 ◯×△□ はまだアクティブ化されていないか、ブロックされています。 」とうメッセージでログイン出来ず。



【 原因 】

People => ユーザ設定

設定内容を変更した

Status:  Blocked ==> Active

に変更後、保存すると自動的にログアウトしてしまう。
以降ログインできなくなる。


【 解決方法 】

データベースの内容を書き換える

table: users_field_data
field: status
変更内容: 0 ==> 1


上記方法は正式な解決方法と思われない。
他に方法があると思われる。
したがって、自己責任でお願いします。


2018-01-10

Drupal 8の theme(テーマ) 作成方法 (超簡易版)

追記)
予め、classy、stable のテーマがインストールされていることが条件。
追記は以上  

【 重要 】∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
作成前に、キャッシュの全てをクリアーさせる。
ー 方法 ー
設定を反映させるために
「すべてのキャッシュをクリアー」
ボタンをクリック
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

完成図 背景色をピンク色するだけのテーマ



【 手順 】
1.テーマ名を決める
2.フォルダーとファイルを作成
3.作成したフォルダーとファイルを所定フォルダーに移動
4.テーマをインストール

1.テーマ名を決める

テーマ名      example


2.フォルダーとファイルを作成


[custom]
  ┗ [example]
        ┣ [css]
        ┃    ┗ style.css
        ┣ [templates]
        ┃    ┗ page.html.twig
        ┣ example.info.yml
        ┣ example.libraries.yml
        ┗ screenshot.png

[ ] はフォルダー
custom フォルダーは任意(複数のテーマを置くために便宜上作成)
example 以下のフォルダに
フォルダー    2つ
ファイル        5つ

個別のファイル内容は後述


3.作成したフォルダーとファイルを所定フォルダーに移動


/サイト名/themes/

に custom フォルダーを置く


4.テーマをインストール

管理からテーマを選択

下部にインストール可能なテーマが表示される。

「インストール」または「インストールしてデフォルトに設定」をクリック


以上で、インストール終了

「インストール」をクリックした場合、テーマを有効にするために、デフォルトのテーマとして設定する。


各ファイルの内容

▶ example.info.yml
name: example
type: theme
base theme: classy
description: 'example theme'
version: 8.x
core: 8.x
libraries:
      - example/base
regions:
      header: Header
    content: Content
      footer: Footer


▶ example.libraries.yml
base:
version: VERSION
css:
component:
css/style.css: {}


【 screenshot.png 】
テーマのイメージ画像


▶ style.css
body {
background-color: #FFCFCF;
}
背景色を #FFCFCF に指定。



▶ page.html.twig
<header>
<div class="header">
{{ page.header }}
</div>
</header>

<div class="container">
<main>
{{ page.content }}
</main>
</div>

<footer>
<div class="footer">
{{ page.footer }}
</div>
</footer>


2018-01-06

busyBox...のエラー表示でLinux Mintが起動しない時の解決方法

Linux Mint がエラー表示を残し突然起動しなくなった。
しかし、3分程度で解決する方法がある。

《 トラブル状況 》

PCの電源を入れると、複数のハードディスク(HDD)を認識する。
予め設定したLinuxのOSが入っているHDDを自動起動。
Linux,windowsのOS選択画面が表示される。
Linuxを選択する。
Linux Mintの起動画面表示される。
起動画面が切り替わり、特定のメッセージ(図1、図2)を残し、OS起動処理が停止。
このとき、コマンド入力待ち状態のまま変化なし。
トラブルの経過は以上

図1
Busybox v1.02,1 (ubunt: 1:1.02.0-12ubuntu1) built-in shell (ash)
enter 'help' for a list of built-in commands.

図2



OSが起動しない原因は不明で、トラブル直前は正常にシャットダウンした。
正常に動作するときは、電源を入れるだけで、ディスクトップ画面が現れる。


《 環境 》

OS : Linux Mint 18 xfce4 32bit
外付けハードディスクにOSをインストール
PC : ディスクトップ
CPU : Intel(R) Pentium(R) CPU G850 @ 2.90GHz
メモリ : 4GB


《 解決方法 》

(initramfs)の後にコマンド入力する。

手順 1  -------------------------------------------------------
Linux のOSがインストールされたドライブ認識記号を確認するために
(initramfs) に続き、

return 

の文字を入力する。以降に出力される、多数のメッセージの中で、

The root filesystem on /dev/sdc2 requires a manual fsck

を確認する。
この中で、/dev/sdc2 を ドライブ認識記号とする。
sdc2 は、個々の環境でsda1やsdd2などのように異なるので注意!

手順2  -------------------------------------------------------
(initramfs) に続き、

fsck /dev/sdc2

と入力する。

 /dev/sdc2はドライブ認識記号で個々で異なる。
fsck と ドライブ認識記号は 半角空で区切る

しばらくすると、トラブルを内部解決してくれる。

処理経過時、コマンドラインに
Inode 196233 was ..... FIXED.
などのメッセージが表示される。





***** FILE SYSTEM WAS MODIFIED *****
と、表示されると処理が終了。




リスタートすると、正常に起動される。


《 おわりに 》
ネットで検索してみると、よくあるトラブルのように感じる。
原因は、強制終了など正常に終了しなかったためと記されていたが、正常に終了させたことから、原因の詳細不明である。
同様なトラブルは、上記の方法で必ずしも解決できるか確定はない。このため、定期的にOSごとバックアップをとることによって、被害を最小限にすることができる。


参考にさせていただいたサイト
omachizura
URL : http://omachizura.com/note/ubuntuで起動時にbusyboxとなり起動しない場合の対処法.html