drupalのurlを変更する

Posted: 3月 8th, 2010 | Author: admin | Filed under: drupal | No Comments »
  1. 念のため、ファイル、データーベースのバックアップをすべて取る
  2. ftpなどを使用し、ファイルをすべて、希望のアドレスに移動する
  3. settings.phpで、$base_urlを使用している場合は、あたらしいURLに変更する
  4. 以上

詳しくは


hetemlサーバーで、httpをhttpsにリダイレクトする

Posted: 2月 25th, 2010 | Author: admin | Filed under: server | Tags: , | No Comments »

あるディレクトリーを、独自ssl契約をし、そのドメインについて、すべてhttpsにするとする。もともとあったサイトをそのまま、ssl化したので、http->httpsに自動にしたい。その場合は、

.htaccess

に以下の情報を挿入する

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*?)$ https://%{HTTP_HOST}/$1 [L,R]


wordPressのカスタムデータを取り出す

Posted: 2月 5th, 2010 | Author: admin | Filed under: wordPress | No Comments »

以下の関数が用意されている

Custom field (postmeta)

特定のpostのデータを取り出すのであれば、get_post_customで

以下のように取り出す

$post_custom = get_post_custom() ;

$post_custom['customfielddata'][0] ;


wordPressデータベースにアクセスする

Posted: 2月 1st, 2010 | Author: admin | Filed under: mysql, template, wordPress | No Comments »

データベースの構造

は以下を参照

http://codex.wordpress.org/Database_Description

*直接アクセスする場合は、バージョンアップによる、データベース構造の変更を要注意

SELECT文を実行する

  • テーブル名は使用せず、wpbpオブジェクトのプロパティを使用する
  • 通常はget_resultsメソッドを使用する
    • $wpdb->get_results(SELECT文)
  • 一行のみ読み込みたい場合はget_rowメソッドを使用する
  • フォームから入れられたデータを使用する場合は、prepareメソッドを使う
    • $user = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->users WHERE user_login = %s",$username));
      *%sは入力された文字列、数字の場合は%d

最新公開投稿10件

$posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = ‘post’ AND post_status = ‘piblish’ ORDER BY post_date DESC limit 10");

最近90日間でコメントが多くついた投稿ベスト10

<?php
    // 集計期間を得る
    $to = time();
    $from = $to – 86400 * 90;
?>
<li><h2>最近90日間でコメントが多くついた投稿ベスト10</h2>
<p>(集計期間:<?php echo date(‘Y/m/d H:i:s’, $from) ?> – <?php echo date(‘Y/m/d H:i:s’, $to) ?>)</p>
<?php
    // 現在から90日前の日時をSQL用に変形する
    $from_sql = date(‘Y-m-d H:i:s’, $from);
    // SQL文を作る
    $sql = <<< HERE
SELECT p.* , c.recent_count
FROM $wpdb->posts p, (
    SELECT comment_post_ID, count(*) AS recent_count
    FROM $wpdb->comments
    WHERE comment_date >= ‘$from_sql’
    AND comment_approved = 1
    GROUP BY comment_post_ID
) c
WHERE p.ID = c.comment_post_ID
AND p.post_status = ‘publish’
ORDER BY c.recent_count DESC
LIMIT 10
HERE;
// SQLを実行する
$posts = $wpdb->get_results($sql);
// コメントがついた投稿があるときのみ、投稿のリストを出力する
if ($posts) : ?>
    <ul>
    <?php foreach ($posts as $post) : setup_postdata($post); ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>(<?php echo $post->recent_count; ?>)</li>
    <?php endforeach; ?>
    </ul>
<?php else : ?>
    <p>この期間にコメントがついた投稿はありません。</p>
<?php endif; ?>
</li>

車のサイトで、カスタムキーが、メーカー、モデル、年度に定義されていて、フォード車について検索、ソートする場合

<?php
$meta_key1 = 'model';
$meta_key2 = 'year';
$meta_key3 = 'manufacturer';
$meta_key3_value = 'Ford';

$postids=$wpdb->get_col($wpdb->prepare("
SELECT      key3.post_id
FROM        $wpdb->postmeta key3
INNER JOIN  $wpdb->postmeta key1
            on key1.post_id = key3.post_id
            and key1.meta_key = %s
INNER JOIN  $wpdb->postmeta key2
            on key2.post_id = key3.post_id
            and key2.meta_key = %s
WHERE       key3.meta_key = %s
            and key3.meta_value = %s
ORDER BY    key1.meta_value, key2.meta_value",$meta_key1, $meta_key2, $meta_key3, $meta_key3_value)); 

if ($postids) {
  echo 'List of $meta_key3_value . '(s), sorted by ' . $meta_key1 . ', ' . $meta_key2;
  foreach ($postids as $id) {
    $post=get_post(intval($id));
    setup_postdata($post);?>
    <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
    <?php
  }
}
?>

参考


WordPressの携帯用にリッチエディターをfontで出力させたい

Posted: 1月 24th, 2010 | Author: admin | Filed under: plugin, wordPress, 携帯 | No Comments »

WordPressのリッチエディターは、TinyMCEらしい。このエディターは最近フォントの色の修飾は以下のようなコードを吐き出す。

<span style="color: rgb(255, 204, 0);">★</span>

これは、xhtmlへの対応と思われるが、おそらく古い携帯では対応できない。すると安全簡単なのは、以下のようなコードとなる

<font color="#008000">ボーダーのBIGロゴ</font>

対応としては何個か方法があるとおもう。

  • tinyMCEの設定を変える
    • ちょっと難しそうだが、学習しておいて損がなさそう
  • spanをfontに正規表現などをつかって変換してしまう
    • プラグインでトリッキーだが、正規表現を覚えるいい機会
  • リッチエディターを変える
    • これはできたら避けたい

である。

ちなみにtinyMCE.initに

force_hex_style_colors : true
*初期設定のrgbの10進を16進に変更と想像がつく

を追加してみると、16進数で出力されている。こうなると単純な置換なので、

<span style="color: #ff6600;">teste</span>

<font color="#ff6600">teste</font>

これをcontentにたいするテンプレートのフィルターとしてfunction.phpに追加すればいいので、以下を追加する

function ks_content_filter($content) {

$pattern = ‘<span style="color: (.*?);(.*?)</span>’;

$replease =’<font color="\\1\\2</font>’;

return mberegi_replace($pattern,$replease,$content);

}

add_filter(‘the_content’,'ks_content_filter’);

これでとりあえず、携帯でもfontタグが出力された

 

課題

  • 本来なら携帯のテンプレートに対して行うべきだったが、携帯サイトでプログラム化されていて、変更がむずかしそうだったので、タグ全体を置換した
  • phpの正規表現で置換処理というのがいいソースがみつからず、試行錯誤になった

参考


プラグインのメモ

Posted: 1月 24th, 2010 | Author: admin | Filed under: plugin, wordPress | No Comments »

プラグインには以下用法がある

アクション

wordPressの関数にフック

<?php
/*
Plugin Name:
Plugin URI:
Description:
Version:

Author:
Author URI:
*/

function add_meta_keyword() {
    global $wp_query;

    // 単体投稿ページでなければ何もしない
    if (!is_single()) {
        return;
    }
    // カスタムフィールドの値を得る
    $post = $wp_query->get_queried_object();
    $custom = get_post_custom($post->ID);
    // 「keywords」カスタムフィールドに値があれば、それをmetaタグとして出力する
    if ($custom['keywords']) {
        echo ‘<meta name="keywords" content="’ . implode(‘,’, $custom['keywords']) . "\" />\n";
    }
}

add_action(‘wp_head’, ‘add_meta_keyword’);
?>

フィルター

wordPressの関数に文字列のフィルターをかける

<?php
/*
Plugin Name:
Plugin URI:

Description:

Author:
Author URI:
*/

function conv_zen_han($content) {
    return mb_convert_kana($content, ‘a’, ‘utf-8′);
}

add_filter(‘the_title’, ‘conv_zen_han’);
?>

テンプレート内での利用

共通関数として、プラグイン内に書き利用できる

プラグイン自体をフィルターに対応させる

以下を関数内に出力前に記述する

$out = apply_filters(’same_category_posts’, $out);

//$outがそのプラグイン関数の出力とする

JavaScriptライブラリーを読み込む

initにフックさせる

<?php
/*
Plugin Name: Clock
Plugin URI: http://www.h-fj.com/blog/wpplgdoc/
Description: 各ページの先頭に現在時刻を表示します
Version: 1.0
Author: 藤本 壱
Author URI: http://www.h-fj.com/blog/
*/

function add_clock_js() {
    // jQueryを使うことをWordPressに伝える
    wp_enqueue_script(‘jquery’);
    // clock.jsのアドレスを求める
    $plugin_dir = str_replace(basename(__FILE__), "", plugin_basename(__FILE__));
    $clock_js = WP_PLUGIN_URL . ‘/’ . $plugin_dir . ‘js/clock.js’;
    // clock.jsを読み込む
    wp_enqueue_script(‘clockscript’, $clock_js, array(‘jquery’));
}

add_action(‘init’, ‘add_clock_js’);
?>

参考


データベースから直接データをとりだす

Posted: 1月 23rd, 2010 | Author: admin | Filed under: template | No Comments »
wordPressのテーブル名は以下のようになる
$wpdb->posts
$wpdb->categories

クエリを送信

$wpdb->query("…");

データベースから変数をとりだす

<?php
$user_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->users;"));
echo '<p>現ユーザー数は、' . $user_count . '人です。</p>';
?>

レコードを1行だけ取得

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");
複数行のレコードを取得
$rows = $wpdb->get_results("SELECT * FROM …");
foreach ($rows as $row) {
  echo $row->post_title;
}

参考

 

特定のカテゴリの最新5件タイトルを表示する

Posted: 1月 23rd, 2010 | Author: admin | Filed under: template, wordPress | No Comments »

カテゴリーid 5の場合

<h2>最新ニュース</h2>
<ul class="list">
<?php $posts = get_posts(‘numberposts=5&orderby=post_date&category=9′);
foreach($posts as $post):
setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a> <?php the_time(‘y年m月d日’); ?></li>
<?php endforeach; ?>
<div class="next"><a href="<?php bloginfo(’siteurl’); ?>/?cat=9"></a></div>
</ul>


投稿をアルファベット順にならべインデックス化する

Posted: 1月 14th, 2010 | Author: admin | Filed under: plugin, wordPress | No Comments »

記事をインデックスをつけてアルファベット順一覧にしたい。

例によってwordpress.orgでサーチすると、以下がよさそうだ。

http://wordpress.org/extend/plugins/azindex/

しかし、こちらは一ページにすべてのタイトルを表示するので、量が多い場合醜くなる場合があり、用語解説的な用途と思われ、今回はパス

その他を検討した結果こちらのプラグインに

http://wordpress.org/extend/plugins/wp-snap/

 

こちらのプラグインの欠点としてページングの機能がない。そして、すべてを表示のとき、アルファベット順に表示される。すべて表示は時系列にさせたい。なぜなら、アルファベット順はタグ化されるのでいらないから。3っ箇所強引に変更することにした。

1.RECENT指定のときは、wordPressの標準の機能をつかう

$wp_query->post_count = count($all_posts);
        $wp_query->posts = $all_posts;

if ($this->first_letters !== NULL) {

        $wp_query->post_count = count($all_posts);
        $wp_query->posts = $all_posts;
    }

上記の処理によって、アルファベット指定されていないとき、配列のポインター処理がスキップされる。すなわちwordPressの標準機能で動作する。

2.すべて表示の場合は、wordPressの標準のページング機能を使用する

以下のコードと適当なテンプレートに挿入する

<?php if($_GET["snap"]==NULL){ ?>
<div class="navigation">
            <div class="alignleft"><?php next_posts_link(‘&laquo; Older Entries’) ?></div>
            <div class="alignright"><?php previous_posts_link(‘Newer Entries &raquo;’) ?></div>

これによってアルファベット指定されていないとき、wordPressの標準ページング機能が動作する

3.ALLの表示をタブに追加する

 

// Check if ALL posts are to be displayed on first load
    if ($this->firstload == ‘ALL’) {
        $results .= $num_tabs . "\t<li";
        if ($this->first_letters == ‘#0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ’) {
            $results .= ‘ class="’ . $wp_snap_options['csscls2'] . ‘"’;
        } else {
            $results .= ‘><a href="’ . $url . ‘"’;
        }
        $results .= ‘>ALL’;
        if ($this->first_letters !== ‘#0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ’) {
            $results .= ‘</a>’;
        }
        $results .= "</li>\n";
    }

 

を以下に変更する

$results .= $num_tabs . "\t<li";
if ($this->first_letters == ‘#0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ’) {
    $results .= ‘ class="’ . $wp_snap_options['csscls2'] . ‘"’;
} else {
    $results .= ‘><a href="’ . $url . ‘"’;
}
$results .= ‘>ALL’;
if ($this->first_letters !== ‘#0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ’) {
    $results .= ‘</a>’;
}
$results .= "</li>\n";

 

課題

アルファベット指定されたときのページング機能はない。おそらく配列ポインターの指定を解析し、修正すればできると思う。また、jQueryなどを使用して、ページ推移なしにページング機能を実現するのもよさそうだ。だが、アルファベット指定されたとき、全て表示されるのにクライアント側が希望したので、そのままにしておいた。ちなみにこの作者のコメントによると「ページングか、問題あるのしっているけど、時間がないんだ」だそうだ。

 

参考


user warning: Duplicate entry ***

Posted: 12月 31st, 2009 | Author: admin | Filed under: drupal | No Comments »

Drupalをコピーして、他のサイトでコピーして、ポストしようとすると下記のようなエラーがでたりする。

image

この場合は、投稿のID管理のシークエンスが狂っている可能があり、Mysqlのデータ

_sequences の_node_nid、dru_node_revisions_vidを最新nodeのidより大きくすればいい

http://drupal.org/node/140102


WEBページはなんの画像フォーマットでつくるか?

Posted: 12月 9th, 2009 | Author: admin | Filed under: Design | No Comments »
  • 写真データにはJPEGを採用し
  • それ以外にはPNG8
  • 激しい、グラフィックはPNG24

*IE PNG Fix 2をいれておいて、IE6対策をする

これが、お勧めみたいだ。ようはgifはずし。

では、現実にはどうなっているのだろうか?

http://www.deliciouslyorkshire.co.uk/dy/

pngがメイン、しかし、一部gif

http://designdisease.com/

logo : png 、その他jpg、gif

http://vanityclaire.com/

gif

http://www.jessewillmon.com/

gif

http://www.lingus.tv/video/trampas_yo

png

http://www.lonelyplanet.com/

logo : gif 、そのたgif

意外なことに、gif使用が多いのにびっくりさせられる。ようは、実は携帯電話でpngが対応されていないなどのことも影響されているのでないだろうか?

デザイナーにとって、ブラウザー互換問題、機種互換問題に左右されるのがもっともストレスになる。

すると、互換性のgif+jpegなのか?デザイン+将来性のpngなのかになる。でもpngの将来をうたっている文章は多いけど、それは例の特許問題の話に根拠がもとめられる。特許問題が関係なくなりつつある現在、そしてファイルサイズも関係なくなると、なんでもよくなる。ようは、好みとか、その個人個人の環境のもんだいだ。で、じゃあ、自分はどうするかというと

  • デザインがメインのサイトならpngですべてつくる
  • コミュニケーションをメインとするサイトならgif+jpeg

でいく、しばらく。


wordPressをメンテナンスモードにする

Posted: 12月 7th, 2009 | Author: admin | Filed under: plugin, wordPress | No Comments »

wordPressをメンテナンスモードにするには以下のプラグインを導入する。

http://wordpress.org/extend/plugins/maintenance-mode/

上記を日本語化するには

http://wppluginsj.sourceforge.jp/i18n-ja_jp/maintenance-mode/

をlanguages以下のフォルダーに転送する


サイトのモックアップツール

Posted: 11月 18th, 2009 | Author: admin | Filed under: WEB製作 | No Comments »

サイトのモックアップはどうするか?ようはラフなものを見せられるようにするにはどうするかだとおもう。

  1. 手書きで始め書いていく
  2. ラフなフレームを書く
  3. 2を人にみせられるレベルにする

という順番でおこなわれるわけだけど、モックアップツールがいるのは3の場面だ。

Mockups

http://www.balsamiq.com/products/mockups/desktop

こちらは評判がいいが、なにせ日本語ができない、有料である。しかしいまどき日本語が通らないって、どうなっているだろう。

Mockingbird

http://gomockingbird.com/

これはおしい。WEB上でつくる、シンプルなツールでいいnだけど、ファイルの共有がinternet exploreでできない、というのはネットでは致命的だ。

Pencil

https://addons.mozilla.org/en-US/firefox/addon/8487

firefoxアドオンでこれもいけそうだったんだけど、ウエブ関係がどうもテーブルとかすばやくできないので却下

Photoshop

結局、photoshopで最初から最後までやるのが、一番いいという結論に達した。理由は、あたらしいツールを導入するひつようなく、またもっとも自由度が高いこと。

以下には参考になることが明記されている

http://blog.creamu.com/mt/2008/09/photoshoptips10.html

その他


EC-CUBEのコメントタグ追加

Posted: 10月 30th, 2009 | Author: admin | Filed under: ec-cube | No Comments »

EC-CUBEのコメントタグは、データーベースにて規制されている。
よって、以下のようにmySqlにコマンドを入力する
INSERT INTO `_bg_orangestore`.`mtb_allowed_tag` (`id`, `name`, `rank`) VALUES (‘50′, ’span’, ‘50′);


laptopとnetbookの中間のPCを捜す

Posted: 10月 7th, 2009 | Author: admin | Filed under: pc | No Comments »

現在laptopをたまに持ち歩いている。3kgあるので、気軽に持ち運べない。気軽というのはちょくちょくだと思うけど、時々(週に一回ぐらい)なら2kgぐらいまではないだろうか?

では、外出先で何を行うか?いろいろあるけど、一番重たそうなのが、ビデオのちょっとした編集ー>youtubeのアップロードだ。

 

すると

  • 2kg以下
  • core 2 duoで、はやいクロックがいい
  • 10万以下
  • DVDは別にいらない
  • メモリー、2G以上
  • USBは複数必要
  • 液晶は13型以上

で、さがす。

すべてのメーカを考えるとたいへんなので、

acer,lenovo,dell,hp,msiで調べる

Aspire Timeline AS3810T-H22 ¥69,800

Core 2 Duo SU9400
1.4GHz(3MB)

2GB 1.6kg -    
Aspire 3935 AS3935-CF61 ¥76,440

Core 2 Duo P8600
2.4GHz(3MB)

2GB 1.9kg DVD±R/±RW/RAM/±RDL    

Lenovo
IdeaPad U350 29633HJ

¥79,800

Core 2 Duo SU9400
1.4GHz(3MB)

4GB 1.6kg      
dell
Latitude E6400
109,800円 インテル® Core™2 Duoプロセッサー P8600 (3MB L2 キャッシュ、2.40GHz、1066MHz FSB、25W) 4GB 1.95 kg DVDスーパーマルチドライブ    
dell
Latitude E4300
134,980円 インテル® Core™2 Duo プロセッサー SP9400(6MB L2キャッシュ、2.40GHz、1,066MHz FSB、25W) 2GB (1GBx2) DDR3-SDRAMメモリ (1066MHz) 1.50 kg DVDスーパーマルチドライブ    
ThinkPad X301              
               
               
               
               

すると、すばらしいのはLatitude E4300であることが、発見。でも値段も少々オーバーだ。 なにせ、1.5kgで、cure 2 duo の2Gで、DVDつき、あまりめだっていないのは、このlatitudeというのはビジネス用のサイトにしか掲載していないからだ。そこで、最近頻繁に使用しているヤフオクでみると、XPにダウングレードで4Gのメモリ搭載もでるを68000円で購入できた。もう新品を買う気がなくなった!?


avatar(user picture)のサイズを変更する

Posted: 10月 5th, 2009 | Author: admin | Filed under: drupal | No Comments »

アバターを使用するのは簡単だ。しかし、表示するケースによってサイズを変える機能はない。よって、いろいろ必要だ。

1.ImageCache moduleをダウンロードし、アクティベイトし、表示したサイズを設定

2.ImageCache Profilesをダウンロードし、アクティベイトする

http://drupal.org/project/imagecache_profiles

3./admin/user/settingsにて設定

 

以上。

よりくわしくは、以下

 

参考


blogの投稿の仕方

Posted: 9月 18th, 2009 | Author: admin | Filed under: wordPress | No Comments »

以下、

http://begoodcafe.com/main/

での簡単なブログの投稿の仕方マニュアルです

1.以下のアドレスに行く

http://begoodcafe.com/main/wp-login.php

2.ID、PWを入力して、「ログイン」ボタンをクリック

image

3.「投稿」、そして「新規投稿」をクリック

image

image

4.文章等の「投稿」

image

5.画像の付加

1)

 

image

2)「ファイルを選択」をクリックし、PCからの画像データを指定する

image

3)画像のオプションを指定

image

4)投稿に画像を挿入

image

6.カテゴリーの設定

image

 

7。公開

image

以上、その他疑問がありましたら連絡ください。


ActionScript3.0で、リンク先へジャンプ!

Posted: 9月 9th, 2009 | Author: admin | Filed under: actionscript | No Comments »

以前のバージョンから変更されている。

click_btn.addEventListener(MouseEvent.CLICK, gotoURL1);
function gotoURL1(event:MouseEvent):void {
var theURL1:URLRequest = new URLRequest("http://web.talk-to.co.jp/");
navigateToURL(theURL1);
}

でOK。

navigateToURL(new URLRequest("index.html"), "_top");
navigateToURL(new URLRequest("index.html"), "_self");
などで、引数をしていできる

参照


フレーム・シーンの移動はgotoAndStop();とgotoAndplay();

Posted: 9月 7th, 2009 | Author: admin | Filed under: flash | No Comments »

注:

  • 最初にフレームアクションを使う場合は必ず目的のフレームにキーフレームを挿入
  • gotoの実行タイミングはフレームに再生ヘッドがきた瞬間

フレームの移動

gotoAndStop(移動したいフレーム番号);

シーンの移動

gotoAndStop("移動したいシーン名");

フレーム番号とシーンの組み合わせて移動

gotoAndStop("移動したいシーン名", 移動したいフレーム番号);


テキストをシェイプにする

Posted: 8月 21st, 2009 | Author: admin | Filed under: flash | No Comments »

1.テキストを選択し、「修正」>「分解」


teaser 表示のときにテンプレートを分岐させるには

Posted: 8月 17th, 2009 | Author: admin | Filed under: drupal | No Comments »
<?php if ($teaser): ?>

  /* teaser 表示にのみ含めたい部分 */

<?php endif; ?>

<?php if (!$teaser): ?>

  /* ページ表示にのみ含めたい部分 */

<?php endif; ?>
 
参照

画像の色をWEB上から抽出

Posted: 8月 10th, 2009 | Author: admin | Filed under: Design | No Comments »

WEBの場合

WEBでつかわれている色を知りたいときがある。その場合は

Abode のカラーチャート形式でダウンロードできる

画像の場合


WEBサムネイル作成API

Posted: 8月 6th, 2009 | Author: admin | Filed under: API | No Comments »

WEBサムネル、スクリーンショットを自動生成してくれるサービスは結構ある。そこでどれを選ぶかだけど、

 

http://creazy.net/2008/02/thumbnail_api_speed_test.html

によると、

http://capture.heartrails.com/

がお勧め

そのたのサービスは、画像生成までに結構タイムラグがかんじられる


CCKで計算フィールドをつかうにはcomputer_fieldモジュールを追加

Posted: 8月 3rd, 2009 | Author: admin | Filed under: drupal, module | No Comments »

CCKで計算フィールドをつかうCCKは、いろいろと投稿の形式をカスタマイズできるから便利だ。しかし、その各フィールドはtext、int、floutなど、phpの型宣言のようになっている。しかし、計算して算出するようなフィールドはデフォルトではない。 そこでモジュールを追加する

http://drupal.org/project/computed_field

  1. モジュールをインストールし、アクティベイトする
  2. CCKモジュールをさきにインストールしておく
  3. administer > content >content types>add fieldにて’Computed’を追加する
  4. “Computed Code”に<?php ?>タグなしで、phpコードを記述する
    *phpのコードは、$node_field[0]['value']に出力結果が入るようにする
  5. comtemplateを使用している場合は、$node->field_***[0]['value']で出力される
    *field_***は追加したfieldの名前に変更する

注意

  • 下記のように”store using the database settings below”をチェックしないとviewでは使えない。
  • また、そのオプションを使用すると、ポストが保存されるタイミングで書き換わるので、デバックのとき、注意すること

 

image


WordPressのポストにテーブルを挿入するにはTinyMCE Advanced

Posted: 7月 16th, 2009 | Author: admin | Filed under: plugin, wordPress | No Comments »

じつは、WordPressの投稿にテーブル挿入はない。テーブルは結構使用頻度が高いのに、標準でないのは、不便だ。そこで、プラグインを調べるといろいろある

TinyMCE Advanced

http://wordpress.org/extend/plugins/tinymce-advanced/

こちらは単純にTinyMCEにTableを含めて機能追加。

WP-Table Reloaded

http://wordpress.org/extend/plugins/wp-table-reloaded/

こちらはtableを追加なんだが、ソートをjavaでおこなえるので、テーブルというより、数値表などにはやくにたちそうだ。

 

というわけで、投稿するときの標準エディターと考えられるTinyMMCEを拡張するのがよさそうなので、早速インストールする。

インストールは簡単で

  1. ダウンロード
    http://wordpress.org/extend/plugins/tinymce-advanced/
  2. プラグインフォルダーに転送
  3. プラグインをアクティベイト
  4. [設定]にてtableを有効する

結構細かい指定もできるので、かゆいところに手がとどくといった感じだ。

Tableだけでく、その他もいろいろ文字装飾が豊富なので、頻繁に使う場合は便利と思われる。


オフィス間仕切りフィルムデザイン貼りの例

Posted: 7月 16th, 2009 | Author: admin | Filed under: sandbox_mashu | No Comments »
業務 NNN社、オフィス間仕切り
日時 2009年10月10日
場所 横浜市内
材料 3M社、ぺけぺけ
作業時間 **H(見積もり・設計を除く)
面積 100平方メートル
合計費用 約100,0000円(すべて込み)
備考 作業が夜間おこなったため、若干人件費が上乗せされた

施工前

施工後


某市内病院の例

Posted: 7月 16th, 2009 | Author: admin | Filed under: sandbox_mashu | No Comments »

5月5日、某市内の病院でなになにをしてきました。この例は、なになにを使用して、終了まで*時間かかりました。およそですが、施工範囲**MM、材料費人件費すべて込みで**円ぐらいになりました。ご参考に

施工前

施工後



drupalのアップグレイド

Posted: 7月 6th, 2009 | Author: admin | Filed under: drupal | No Comments »

セキュリティの意味から、最新バージョンに保つのが基本、よってアップグレイドの方法をメモ

1)ファイルと、データベースをすべてバックアップする

2)導入したモジュール・テーマのコンパチビリティをチェックする

3)サイトを以下のアドレスからオフラインモードにする

http://www.example.com/?q=admin/settings/site-maintenance

4)テーマをコアテーマ(GarlandまたはBluemarine)に変更する

5)追加したモジュールをすべて停止する

6)すべてのファイルを削除する

7)あたらしいバージョンのdrupalをすべてサーバーにアップロードする

8)1)でバックアップした"files"と "sites"をサーバーにアップロードする

9)アップデイトプログラムを実行する

http://www.example.com/update.php

もし、update.phpを実行できなかったら以下を行う

  1. settings.phpをテキストエディターで開く
  2. 以下の変更を行う
    $update_free_access = FALSE;

    $update_free_access = TRUE;
  3. 以下の変更を行う
    $update_free_access = TRUE;

    $update_free_access = FALSE;

10)追加したモジュール・テーマを可能にする

 

参考


FCKeditorの導入

Posted: 7月 6th, 2009 | Author: admin | Filed under: drupal, module | Tags: | No Comments »

drupalの標準入力にはリッチテキストエディターはない。よって、FCKeditorかTinyMCEなどを導入することになる。このジャンルのモジュールのダウンロードアクセスランキングをみるとFCKeditorがトップであるので、これを選択する。インストール方法は以下

以下をダウンロードし、drupalのモジュールにアップロード

画像のアップロードように以下のファイルを変更する

/all/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php file内

$Config['Enabled'] = false ;

$Config['Enabled'] = true ;

以上で、動作する。

 

参考


wordPressにショッピングカートYAKを設定する

Posted: 6月 26th, 2009 | Author: admin | Filed under: plugin, wordPress | Tags: | No Comments »

人気のブログ、wordPressにショッピングカート設置する。

目的

  • 3件から10件の単品販売に近い
  • 代金引換での支払い
  • 一ページにすべて、表示されるイメージ

本格的な販売なら、zencart、ec-cubeを設置だが、blog内にちょっとした、製品を販売したい場合は、もっとシンプルなものがいい。pluginで検索してみるといかが人気のようだ

プラグイン

YAK

http://wordpress.org/extend/plugins/yak-for-wordpress/

  • 日本語対応、実績もあるらしい
  • 使いやすそうだが、代引きの機能がない
  • 商品値段の少数点がなぜか表示される

eShop

http://wordpress.org/extend/plugins/eshop/

  • 今回、未テスト

WP e-Commerce

http://wordpress.org/extend/plugins/wp-e-commerce/

  • なぜか最新バージョンをインストールしようとするとFatal errorが発生。Google checkout関連みたいだが、とりあえず、今回は保留

ざくっと検討の結果、今回はYAKを選択

設定方法

  1. インストール
  2. category "products"を作る
  3. "default"を"products"カテゴリーの下につくる
  4. チェックアウト用のページをつくる。たとえばCheckout
  5. 上記のページに、下記を明記
    [yak_checkout]
  6. 銀行支払いの場合はDepositぺージを製作
  7. 設定>YAK>Basic

    デフォルトカントリーをJapanにする

    Product category nameを"products"にする

  8. ツール>Productsのページで値段、そして在庫数を設定する

  9. 設定>Yakで、支払方法、送料など全体にかかわる設定をする

オプションの設定

商品属性

YAK Product Detailsで商品属性(Tシャツでいえばサイズとか)が設定できる
  1. さきに指定したい子カテゴリをつくっておく

    例)[size L]とか[size M]とか
  2. 使用したい、属性を子カテゴリーとして指定する
  3. YAK Product Detailsのtypeで選択する
  4. post内には以下のように記述するとその属性に従った値段が表示される

    [yak_price size L][yak_price 5size M]

カスタマイズ

以下の点がが必要と思われる

日本語化バージョン

一部日本語化されているが、やはり書き換える必要がある。その場合は、poeditを使用して、yak-ja.poをカスタマイズする。

*一部ファイルがpoeditに対応していない場合があるので、注意

住所の順番を日本の習慣にあわせる

住所の順番が日本の習慣としてはおかしいので、以下のファイルのhtmlを変更する

yak-view-address.php

*こちらはhtmlを変更

yak-model.php

*yak-model.php内では住所データを出力用文字列に変換している。それは以下の順番を希望に変更

function get_members() {

        $arr = array();

        $arr['email'] = $this->email;

        $arr['recipient'] = $this->recipient;

        $arr['phone'] = $this->phone;

        $arr['postcode'] = $this->postcode;

        $arr['state'] = $this->state;

        $arr['city'] = $this->city;

        $arr['region'] = $this->region;

        $arr['addr1'] = $this->addr1;

        $arr['addr2'] = $this->addr2;

        $arr['suburb'] = $this->suburb;

        $arr['country'] = $this->country;

        return $arr;

    }

少数点

なぜか、オプションで小数点表示をしない、にしても小数点表示されるので、以下を修正

yak-for-wordpress.phpファイルのyak_format_moneyを書き換える。

$money = number_format($money,$dec_places, $dec_point, $thousands_sep);

を以下に変更する

$money = number_format($money, ”, $dec_point, $thousands_sep);

special instructions(注文時の連絡事項等)

こちらも、なぜかか、注文メールにデーターがはいってこないので以下の変更をする。

1)yak-payments.php内以下の部分を変更

function send_confirmation_email($order_id) {

      global $wpdb, $order_table, $order_detail_table;

function send_confirmation_email($order_id) {

      global $wpdb, $order_table, $order_detail_table,$order_meta_table;

2)yak-payments.php内以下の部分を変更

$results = $wpdb->get_results("select * from $order_detail_table where id = $order_id");

$results = $wpdb->get_results("select * from $order_detail_table where id = $order_id");

      $meta = $wpdb->get_var("select value from $order_meta_table where order_id = $order_id");

3)yak-payments.php内以下の部分を変更

$mail = str_replace($name, $name2, $mail);

$mail = str_replace($name, $name2, $mail);

$mail = str_replace(‘[mail_address]‘, $email, $mail);

$mail = str_replace(‘[special_instructions]‘, $meta, $mail);

この変更によって、[mail_address]と[special_instructions]を適当に追加して、注文確認メールに含めることができる

今回テストでインストールしたページ
参考