Drupalのモジュール等でよく出るnotice warningの表示を消す。

Drupalのモジュールをインストールすると

Warning: Invalid argument supplied for foreach() in …

的なエラーが管理画面に赤く一杯表示されたりします。

最初はいちいちモジュールのphpファイルに


if (!is_array($element['#contextual_links'])){
return;
 }

などと書いて修正していたんだが、あまりの数の多さに面倒になってきたので

.htaccessでerror_reportingを修正して逃げる事にしました。

(Drupalしか動かしていないのであればphp.iniを修正でもいいかと思いますが)

Drupalインストールディレクトリに.htaccessがあるので

そのPHPセクションの部分(<IfModule mod_php5.c>で始まる箇所)の最後に

php_value error_reporting 6135

を追加して完了。

これはphp.ini等で記載する時のerror_reporting = E_ALL & ~E_NOTICEと同義

Tb Sirateの横にあるソーシャルリンクのカスタマイズの仕方

Tb Sirateのソーシャルリンクの設定はどこにあるのかと管理画面を見てみたが見つからなかった

themebrainのQAページを見てみるとテンプレートを直接直すようだ

page.tpl.phpの317行目あたりからのhrefのリンクを該当するソーシャルのページに変更する。

icon-social-1〜9までがそれぞれソーシャルネットワークに対応している

twitte,facebook,RSSの利用であれば6,8,9以外は削除しても良い


<div id="social-share-wrapper">
 <?php global $base_root;?>
 <div>
 <div class="social-share-inner">
 <!--a href="#" class="icon-social-1">&nbsp;</a>
 <a href="#" class="icon-social-2">&nbsp;</a>
 <a href="#" class="icon-social-3">&nbsp;</a>
 <a href="#" class="icon-social-4">&nbsp;</a>
 <a href="#" class="icon-social-5">&nbsp;</a-->
 <a href="ここにfacebookページのURL" class="icon-social-6">&nbsp;</a>
 <!--a href="#" class="icon-social-7">&nbsp;</a-->
 <a href="ここにtwitterページのURL" class="icon-social-8">&nbsp;</a>
 <a href="sitemap.xml等のRSSのURL" class="icon-social-9">&nbsp;</a>
 </div>
 </div>
 </div>

Tb Sirate設定時のNotice: Undefined variable: grid in include()

DrupalのテーマのTb Sirateのレイアウトが良さそうだったので

テーマに設定したところ管理画面で

Notice: Undefined variable: grid in include()

なエラーがずらずらっと表示された、フロントはと見てみると意図した表示にはなっていない。

このテーマはTB Nucleusの子テーマでした。TB Sirateのページを確認してみるとちゃんと

Requirements

Nucleus base theme

って書いてあります。

こちらをインストールしていったん有効にしてから、再度1Tb Sirateを有効にすると管理画面のエラーが消え

フロントの表示も正しくなります。

当然といえば当然ですが、子テーマの導入時は親テーマを忘れずに

TB Methysでも同様のようです(ここが参考になりました。)

http://drupal.org/node/1853986

Drupal adminユーザパスワード

Backup and Migrate を使用して別サイトからデータを移行すると

adminのログインができなくなってしまった。

そのような場合データベースのusersテーブルuid=1のレコードを編集することにより

パスワードのリセットが可能となる

UPDATE  データベース名.users SET pass = MD5(‘新しいパスワード’) WHERE uid=1;

これでもログイン出来ない場合はmailカラムにadminのメールアドレスが入っているので

こちらを修正してパスワードの再発行を行う。

windows作成のファイル読み込み

今更な感じのタイトルですが

windowsのエクセル作成のCSVをデータベースに投入する場合の注意について

  • 改行コードの問題

windowsとlinuxやMacでは改行コードが違うため、そのまま処理を行おうとすると

一行で読み込んでしまったりして不具合が発生する、このような場合はphp.iniのauto_detect_line_endingsを設定

もしくはini_setが可能であれば都度

ini_set(“auto_detect_line_endings”, true);

htaccessの場合は

php_value auto_detect_line_endings "1"

csv等の読み込みでExcel作成のファイルの場合は下記ページがまとまっておりました。
http://d.hatena.ne.jp/deeeki/20110410/excel_csv_php