memo.xight.org

Drupal

2009-11-25 Wed

Drupal で node を更新すると Twitter につぶやける Drupal モジュール

- Summary
Drupal で Twitter モジュールと Twitter actions モジュールをインストールすると、
コンテンツ投稿時に Twitter にメッセージを投稿してくれる。

node type 別にカスタマイズするには、
Drupal で node type 毎に twitter へのつぶやき書式を変える方法 を参考にモジュールを追加すれば良い。
以下、引用。

<?php
function twitter_format_by_node_type_form_alter(&$form, &$form_state, $form_id) {
    if (isset($form['#node']) && $form['#node']->type . '_node_form' == $form_id) {
        if (!$form['twitter']) {
            return;
        }
        if ($form['#node']->type == "news") {
            $form['twitter']['status']['#default_value'] = 'お知らせ: !title !tinyurl';
        } elseif ($form['#node']->type == "blog") {
            $form['twitter']['status']['#default_value'] = 'ブログ投稿: !title !tinyurl';
        } else {
            // Twitter モジュールで設定したデフォルトフォーマット
        }
    }
}
?>


- Reference
Twitter | drupal.org
http://drupal.org/project/twitter

Drupal で node type 毎に twitter へのつぶやき書式を変える方法 | ランディネットワーク
http://www.randynetwork.com/blog/319

2009-09-02 Wed

Drupalでタームを削除する際にエラーが発生する

- Summary
XML sitemap 6.x-2.x-dev を使用中、
タームを削除する際に、以下エラーが発生する。

Fatal error: Unsupported operand types in /sites/all/modules/xmlsitemap/xmlsitemap_taxonomy/xmlsitemap_taxonomy.module on line 180


- xmlsitemap_taxonomy_form_taxonomy_form_term_alter を置き換え。

function xmlsitemap_taxonomy_form_taxonomy_form_term_alter(&$form, $form_state) {
  /* Because the same form is used for deletion in confirm_form, we must check
  if the normal editing form elements are present. Hopefully this is fixed in Drupal 7. */
  if (isset($form['identification'])) {
    if ($form['#term']['tid']) {
      $term = xmlsitemap_taxonomy_taxonomy_term_load($form['#term']['tid']);
    }
    else {
      $term = (object) $form['#term'];
    }
    $term->vid = $form['vid']['#value'];
    $link = xmlsitemap_taxonomy_create_link($term);
 
    // Add the link options.
    module_load_include('inc', 'xmlsitemap', 'xmlsitemap.admin');
    xmlsitemap_add_form_link_options($form, $link);
 
    $form['xmlsitemap']['#access'] |= user_access('administer taxonomy');
    if (user_access('administer taxonomy')) {
      $form['xmlsitemap']['priority']['#description'] .= ' ' . t('The default priority for this vocabulary can be changed <a href="@link-type">here</a>.', array('@link-type' => url('admin/content/taxonomy/edit/vocabulary/' . $term->vid, array('query' => drupal_get_destination()))));
    }
 
    // The submit and delete buttons need to be weighted down.
    $form['submit'] += array('#weight' => 50);
    if (isset($form['delete'])) {
      $form['delete'] += array('#weight' => 51);
    }
  }
}


- Reference
Fatal error when deleting terms | drupal.org
http://drupal.org/node/558344

2009-08-25 Tue

Drupalのエラー「date_formats doesn't exits query」の解決方法

- Summary
cron実行時に以下のエラーログを発見。
Table &#039;drupaldb.date_formats&#039; doesn&#039;t exist query: SELECT df.dfid, df.format, df.type, df.locked, dfl.language FROM date_formats df LEFT JOIN date_format_types dft ON df.type = dft.type LEFT JOIN date_format_locale dfl ON df.format = dfl.format AND df.type = dfl.type ORDER BY df.type, df.format: /path/to/drupal/sites/all/modules/date/date_api.module の 2046 行目

- 原因
date 6.x-2.3のChangeLogより

#395156 Change table name for date formats from 'date_format' to 'date_formats' because 'date_format' is reserved word in some dbs.


date_formatはDBでの予約語である可能性があるため、
テーブル名をdate_formatsに変更したとのこと。

- 対処法
テーブルdate_formatをdate_formatsにリネームして解決。

- Reference
date 6.x-2.3 | drupal.org
http://drupal.org/node/534332

2009-08-19 Wed

Japanese Mobile - モバイルサイト向けDrupal テーマ

- Summary
AudiaからリリースされたDrupalモジュール。
DoCoMo、au、Softbankの3G携帯で動作する。

- 特徴
・クッキーなしでもログインセッションが可能
・キャリアの自動判別
・UTF-8からシフトJISへの自動エンコーディング変換
・インラインCSS

- Reference
Japanese Mobile | drupal.org
http://drupal.org/project/jp_mobile

Audia - 2009-08-08 - 携帯電話用のDrupalテーマを公開
http://www.audia.jp/blog/%E6%90%BA%E5%B8%AF%E9%9B%BB%E8%A9%B1%E7%94%A8%E3%81%AEdrupal%E3%83%86%E3%83%BC%E3%83%9E%E3%82%92%E5%85%AC%E9%96%8B

2009-08-19 Wed

DrupalでTaxonomyによる関連ノードを表示する

- Summary
Relevanceモジュールを利用すると、Taxonomyの類似度により
Nodeの関連度を計算し、上位 n 件を表示することができる。

- 翻訳ファイル
Sunvisor Lab. - モジュールの翻訳
http://www.sunvisor.net/drupal/ja_po

- [2010-01-29] 関連がありそうなモジュールを追記
RelatedContent
http://drupal.org/project/relatedcontent

Node Relativity
http://drupal.org/project/relativity

- Reference
Sunvisor Lab. 2009-06-25 - モジュール:Relevance, Meta tags, Term Display
http://www.sunvisor.net/drupal/modules/relevance

Relevance | drupal.org
http://drupal.org/project/relevance

Term Display | drupal.org
http://drupal.org/project/term_display

Nodewords | drupal.org
http://drupal.org/project/nodewords

2009-05-28 Thu

定番そうなDrupalモジュール一覧

- Summary
定番のDrupalモジュールを探してみた。

- CCK
Content Construction Kit (CCK) | drupal.org
http://drupal.org/project/cck

Content Construction Kit (CCK) 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/194

- Views
Views | drupal.org
http://drupal.org/project/views

Views 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/196

- Taxonomy Menu
Taxonomy Menu | drupal.org
http://drupal.org/project/taxonomy_menu

- Pathauto
指定したルールを基に URL エイリアスを自動生成するためのモジュール
Pathauto | drupal.org
http://drupal.org/project/pathauto

Pathauto 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/38

- Token
Token | drupal.org
http://drupal.org/project/token

Token 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/43

- AdSense /AdSense Injector
AdSense | drupal.org
http://drupal.org/project/adsense

Adsense Injector | drupal.org
http://drupal.org/project/adsense_Injector

- Meta tags
Meta tags | drupal.org
http://drupal.org/project/nodewords

- XML Sitemap
XML Sitemap | drupal.org
http://drupal.org/project/xmlsitemap

XML Sitemap 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/51

- FileField
FileField | drupal.org
http://drupal.org/project/filefield

FileField 日本語訳 | drupal.pineray.jp
http://drupal.pineray.jp/node/80

- ImageField
ImageField | drupal.org
http://drupal.org/project/imagefield

- ImageField 日本語訳 | drupal.pineray.jp
http://drupal.pineray.jp/node/78

- ImageCache
ImageCache | drupal.org
http://drupal.org/project/imagecache

ImageCache 日本語訳 | drupal.pineray.jp
http://drupal.pineray.jp/node/57

- Lightbox2
Lightbox2 | drupal.org
http://drupal.org/project/lightbox2

- Devel
Devel | drupal.org
http://drupal.org/project/devel

Devel 日本語訳 | drupal.pineray.jp
http://drupal.pineray.jp/node/68

- Reference
役に立ちそうなDrupalモジュールの一覧
http://www.marusankakusikaku.jp/archives/2007/05/22-drupal.html

2009-05-24 Sun

DrupalのTextileモジュールのインストール

- Summary
Textileモジュールのインストールと有効化について。
対象ファイルを展開して、インストールだけでは有効にならない。

- Textileモジュールの配置

% tar xzvf textile-x.x.x.tar.gz
% mv textile /path/to/drupal/modules



- classTextile.php をダウンロードして配置
INSTALL.txtに書いているURLに当該ファイルが存在しなかったので、
以下URLから入手。
http://textpattern.googlecode.com/svn/releases/4.0.8/source/textpattern/lib/classTextile.php

/path/to/drupal/modules/textile/classTextile.php に配置

- 入力書式の追加
http://example.com/path/to/drupal/admin/settings/filters/add
Textileフィルタのみ有効にする。

- コンテンツへの適用
入力書式から Textileを指定する。

- Reference
Textile | drupal.org
http://drupal.org/project/textile

Textile
http://textile.thresholdstate.com/

textpattern - Google Code
http://code.google.com/p/textpattern/

2009-05-04 Mon

Drupalのインストール

- Summary
Drupalをインストールしてみる。
モジュールは cck と views を追加。

- ファイルの移動と権限付与

# mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html
# cp sites/default/default.settings.php sites/default/settings.php



- データベースの作成

# mysqladmin -uroot -p create drupal



- mysqlのテーブルの作成

grant select, insert, update, delete, create, drop, index, alter, create temporary tables, lock tables on drupal.* to drupal@localhost identified by 'XXXXXXXX';
flush privileges;
quit;



- Clean URLの有効化
Clean URLは http://example.com/index.php?q=hogehttp://example.com/hoge のようにアクセスする可能にする機能。
Clean URLの動作にはmod_rewriteが必要。

/path/to/drupal/.htaccess を有効にする。

<Directory /path/to/drupal/>
AllowOverride All
</Directory>



- インストール時にClean URLを有効に設定できなかった場合
  mod_rewriteの有効化、.htaccessのOverrideの設定確認をして apache再起動。
  http://example.com/drupal/?q=admin/settings/clean-urls にアクセスし、
  Clean URLを有効化する。

- ブラウザから drupal をインストール
http://example.com/install.php にアクセス

- モジュール翻訳ディレクトリを作成 (日本語プロファイル版)

% mkdir /path/to/drupal/profiles/Japanese/translations/modules


- cck, viewsモジュールのファイルを配置 (日本語プロファイル版)

% tar xzvf views-6.x-x.x.tar.gz
% mv views /path/to/drupal/sites/all/modules
% unzip ja-cck-6.x-x.x.zip
% cp ja-cck-6.x/cck.ja.po /path/to/drupal/profiles/Japanese/translations/modules/cck.ja.po

% tar xzvf cck-6.x-x.x.tar.gz
% mv cck /path/to/drupal/modules
% unzip ja-views-6.x-x.x.zip
% cp ja-views-6.x/cck.ja.po /path/to/drupal/profiles/Japanese/translations/modules/view.ja.po



- 2009-05-28 追記
Drupal 日本語プロジェクトの日本語プロフィールを利用している場合
以下の優先順位でインポートされる。
プロフィール毎の翻訳を提供することが可能。

  1. profiles/japanese/translations/ja/modules/モジュールディレクトリ名.po
  2. モジュールディレクトリ/po/ja.po

Drupal 日本語プロジェクトの日本語プロフィールを利用していない、
または、以前のバージョンからアップグレードしたなどの場合

  1. モジュールディレクトリ/po/ja.po

- Reference
Drupal.org
http://drupal.org/

Drupal Japan
http://drupal.jp/

Content Construction Kit (CCK) | drupal.org
http://drupal.org/project/cck

Content Construction Kit (CCK) 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/194

Views | drupal.org
http://drupal.org/project/views

Views 日本語翻訳 | DRUPAL*DRUPAL
http://drupalxdrupal.com/project/196

Perl Tips - 2007-04-6
http://perltips.twinkle.cc/drupal/clean_urls.php