HTMLもろくに書けないのに、無謀にもいろいろしてみたいと思ってまして、ノート代わりに書く個人的メモですんません。

2008年10月30日木曜日

Modxのチャンクもどき

昨日、急に先輩から課題が出された。

index.php
の中に
[[*hogehoge*]]
と書かれていたら
hogehoge.php
の内容に置き換えて表示されるようにphpを書きなさい的な感じ。

ぇ~。丸一日悩んだ結果、無理でした・・・。

んでヒントもらう。

バッファリングを開始してhtmlを書き始める。
んでその中に[[*hogehoge*]]も書いておく。
バッファリングした文字列を変数に格納。
hogehoge.phpを読み込んで変数に入れる。
[[*hogehoge*]]をhogehoge.phpの内容に変換。
バッファをフラッシュ。

ほぼこんな感じのメールが帰ってきた。

さて。
したこと。

index.php

<?php
ob_start();
?>
<html>
省略
[[*hogehoge*]]
省略
</html>
<php
$hoge = ob_get_contents();
ob_end_clean();
include("hogehoge.php");
$hogeho = str_replace("[[*hogehoge*]], $hogehoge, $hoge);
echo $hogeho;
?>


んで、hogehoge.php

<?php
$hogehoge = "<p>なんたらかんたら</p>";
?>


こんな感じで無事終了。

はぁ。。提出期限に間に合ってよかった。。。

2008年10月27日月曜日

MODxのテンプレート変数

MODxを使うにあたって、資料とかを読んでも、どうもテンプレート変数というものが
理解できていなかったんだけど、今日先輩の説明を聞いてやっと半分くらい理解した。

要は

リソースの管理の「テンプレート変数」で、変数を作っておいて、
それをテンプレートの中に[*templete*]と書いておけば
それぞれのページの編集画面で、その場所に入れるものを書けたり
選べたりする、と。


例えば、それぞれのフォルダごとに異なるスタイルシートを反映させたい時は

doc_cssとか名前をつけてテンプレート変数を作っておく。

テンプレートの中で
<link href="[*doc_css*]" ~>
と書いておけば、ページの編集画面で、どのcssをそこに入れるか入力したり
プルダウンで選んだりできるわけですよ。

やべ、すんげぇ便利そ。

でもしらなかったから、今まですんげ~無駄なことしてた・・・。

んで、本読むとウイジェットとか@バインディングとか書いてあって
混乱中。

むぅ。

2008年10月8日水曜日

あ、

ネタが前の投稿とかぶってた・・。

混乱っぷりがよくわかるのぅ。

まぁ、archive.phpだけじゃなく、他のindex.phpやらsingle.phpでも使えるということで。

wordpressでカテゴリ毎に表示を変えたい場合

管理画面の

デザイン>テーマエディタ

ここで変えたいデザインのファイルのデザインが影響するタグに

class="<?php $cat = get_the_category(); $cat = $cat[0];{echo $cat->category_nicename;} ?>"

これを入れる。

例えば、カテゴリのアーカイブでそれぞれデザイン変えたかったら、
archive.php
の中の最初の方で

<div id="ほにゃらら" class="category_nicename;} ?>">

ってやればいい。

あとはCSSを工夫する。

文中の<>は半角に変えるのだ。

2008年10月3日金曜日

カテゴリごとの表示を分ける方法

これは簡単みたい。

http://akaandmore.com/blog/archives/12

ここを参考にしてみたら、classを分けることができました。
あとはcssいじくりまわすだけだ~。

がんばるぞ~。

pieXとDNS設定

wordpressIntegratorを入れてしたかったこと。

1,トップページにWordPressのタイトル一覧を作る
2,新着情報と日記のカテゴリで記事を投稿し、それぞれを別のページのごとく振る舞わせる。

1,に関して。
WordPressIntegratorのスニペットコールで表示させようかと思ったら、
タイトルだけ!とか、続きを読む、とか件数の設定とかができない模様。

さてどうしよう。。。と悩んだ結果、RSSのフィードを読み込んで
表示させればいいじゃん、と思いつく。(思いついただけ。仕組みはまだよくわからない)

早速、RSSをうまく表示してくれるスニペットを探すと、
pieXというよさげなもの発見!

http://www.petit-power.com/permalink/piex-v06.html
これのv.0.7を使用することに。

やり方は↑のページと
http://www.liolion.info/modx/resource/piex.html

こちらという、バリバリ公式フォーラムなんかでもご活躍のお二人のページを参考にする。
変数やらパラメータやら、相変わらず慣れない言葉にギクシャクしながらも
なんとか設置。

試してみると~。

feedが見つからないってさ・・・。

んで、エラーメッセージに書いてあるRSSフィードのURLをコピペして
ブラウザで見てみると・・・ん?普通に表示されるじゃん。

なぜだ?

試しに違うサイトのRSSを試してみる。

うぉ~!表示されるじゃん!すごいじゃん!

んで、も一回自分のでtry!

feedが見つからないってさ。。。

何故じゃ。どうしてじゃ。

散々悩みに悩んだ結果、ある一つの仮説が浮かぶ。

今、windowsは先輩の用意したDNSを読みに行っている。
しかし!果たしてfedoraさんはどのDNSを読みに行っているのだ?
もしかして、プロバイダのDNSを読みに行っているのではないのか?

これが仮説。

んで、fedoraさんにターミナルからアクセス。

いろいろ調べた結果、
/etc/resolv.conf

ここにDNSの設定が書かれているらしい。

よしよし見てみよう。

・・・やっぱそうか!
はっきりくっきりとプロバイダのDNSのIPが書かれていた。

これはいかん。すぐ書き直す。

そして再try!


表示された!!やった~!


というのが昨日までの出来事。


今日、続きをしようとしたら、

・・・。またfeedが見つからないってさ。

念のためfedoraのDNS設定を確認。

ぁ、元に戻ってる。。。

何故じゃ。どうしてじゃ。

早速修正。念のためrebootしてみる。

やっぱり元に戻ってる。。。


さて、調査隊はかくしてGoogle先生にいろんな質問をぶつけることになるわけです。

結局見つけたのは

cd /etc/sysconfig/network-scripts/ifcfg-eth0

ここにDNSが書かれていて、しかもこれはrc.localで起動時に読み込まれるように自分で設定したファイルだったからでした。。。

んでもって、ここのDNSも先輩DNSに変更。そしてreboot。

ぉ~!ちゃんと反映されている!!

ちゅうわけで、1,はクリア。


次にカテゴリ毎のページ。
これは非常に簡単でした。
カテゴリクリックすりゃ、そのカテゴリだけのページが出てくる。

んで、気に食わない表示は、
wp-content/themes/default

この中のarchive.phpを見て、よく変数の意味を考えて
ちょこちょこ変えればいいだけ。

良かった良かった。

んだけど、別のページ扱いってことは、それぞれにテンプレートを
あてがわないといけないってことよね?

・・・どうすりゃいいの?

というわけで、これから調べながら、なんとかしてみます。

2008年10月1日水曜日

確認

どうせ個人メモ。いろいろ確認しておこう。


現状
web制作見習い
・xhtml+cssでなんとか自分の思い描いた形のページは作れる。
・ネットに蔓延しているSEOの知識はなんとか仕入れている。
・illustratorやphotoshopでwebデザインや画像修整はなんとかしているがセンスがない。
・flashは紙芝居的な初歩的な何かは作れる。Actionscriptはまだいじれない。

これから
目指すものは、ちゃんと自分でも制作ができるwebディレクター(ジェネラリスト的な何か)
・まずfedoraを構築してlinuxやらwebサーバやら何やら組めるようになり、トラブルにも対応できるようになる
・PHP+MySqlで考えたことは組めるようになる
・PHP+postgreSqlで考えたことは組めるようになる
・FlashはActionScriptも含めできるようになる
・Javascriptを使えるようになる。
・Ajaxに結び付ける
・CMSとか使いこなせるようになる。
・Ruby on railsでいろいろできるようになる。
その他
・英語聞ける、話せるようになる
・リードギター弾けるようになる
・MacかPCでDTM
・ラッピング検定

webは仕事も絡んでいるのでとびとびだけど
ここにメモして、後から思い出せるようにするのが
このblogの目的。

役立たずのジャンクなblogですんません。。。

WordpressIntegrator

今回もはまりまくり・・・。

まずwordpress日本語版の2.6.2をインストール。
これは驚くほど簡単。

今度個人的なサイト構築にも使ってみようかな・・・。

そんなことを考えながら、
http://nanabit.net/modx/wordpress-integrator.html

ここでWordpressIntegrator1.2をDLして、
指示に従ってプラグインだの、スニペットだのを作っていく。

さぁアクセス!


ふむ。MODx Parse Errorなんぞ出て怒られる。
どうやら、サーバにアクセスしたけどタイムアウトだよ。ば~か!

って言われてる。

馬鹿って言う方が馬鹿なんじゃぃ!
と、誰もバカって言ってないのに泣き怒りしながら原因追究。

どうやらWordpress側のファイルに問題がある模様。

wp-includesの中のcron.phpに

$argyle = @fsockopen('ssl://' . $parts['host'], $port, $errno, $errstr, 0.01);
だの
$argyle = @ fsockopen( $parts['host'], $port, $errno, $errstr, 0.01 );
だの書いてあって、これの最後に記述してあるタイムアウトへの時間が短すぎる模様。

0.01 → 0.1に修正

するとまた違うMODx Parse Error。。。

バカって言うh(以下略)

対処の仕方は
http://tkfm.net/log/eid334.html

ここに書いてあった。
この情報はとても自分の状況にぴったりフィット!

結局、なんとか表示されるところまでこぎつけました。

ふぅ。。。

さて、テンプレート作って装飾すっかなぁ。