ICT関連の学習備忘録

ICTの学習をアウトプットするワークブックサイト

ICT関連の学習備忘録

2019-07-22 : CMS風にしたい。ゴール決めないと終わりが無い・・w

土日予定入っちゃうとほぼ何も出来ないよネー。
申し分程度に本読んだだけだったわ。

で、気を取り直してこの学習記録ページのですね、
構想としてはこのWEBページそのものをブログCMS風なのを目指すことにした。

エンド側の画面と、管理者側の画面とを分けて、

取り急ぎ必要だと思うのは、
エンド側は表面上変わるところはあまりないけど、サーバーサイドと連動させるとして
全部にPHP埋め込むことになるネ←
一部ヘッダーのメニューとかは埋め込んでるけどそうじゃなくてDB的な。

今3分間だけ考えてみる。

・トップページの記事数を減らす(数記事毎に次のページみたいなアレ)
・コメント投稿が出来るようにする。
・各ページの記事(html)をデータベースから引用するようにする。
・CSSを整理する。全体のデザインとメニュー。
・レスポンシブにする。
・記事検索機能を追加する。
・問い合わせページの追加・・・いるか?(笑)

はい。これだけ出てきた。
取り敢えず順に、トップページの記事数を減らすのループ回数を制限してやれば
問題なく出来るかなと。イメージ的には、
データベースからループ5回で上から5記事取り出す、
次のページで上記条件+DBの上から5記事を引いて、また5記事取り出す
の、繰り返し・・・。
って思ったけど、例えば4ページ目に一発で行きたい時は、どうするか?
※書きながら考えてるなう。

ページへのリンクもループ必要か。 データ数 % 5 = 0 で次のリンク生成ストップ。
というか記事数に応じてページファイル(phpなりhtmlなり)自体を生成せなアカンな。
DBに記事をインサートした際に記事数が5の倍数になった時点で、
$num ++
touch ("hogehoge{$num}.html")
とかでファイル作る・・て思ったけどそんな記事が増えたからって
ファイルがどんどん増えていくCMS聞かねーしなーと不意に落ちなかったので
WordPressを思い出してみた。
二通りある。
GETリクエスト(?)で「example.com/?p=1111」こうなるやつと
ディレクトリ「example.com/1111」ってなってるやつ。
後者のやり方はわからない。出来なくはないケド、ファイルいっぱいになるww
んー・・・
※書きながら考えてる(大事なことだから2ry
GET送信使ったほうがやりやすい、か?。
index.htmlの記事データのループ箇所に条件式付けて
$_GETの値を元にDB読み込み位置を調整しーの
ループ条件をrange(1,5)にして5回まで、と。

うん。まぁ、きっと、多分、そんな感じだな(適当

要件定義みたいなやつやね。関係図的なの書きながらじゃないと
結構疲れる。頭が。ってことで考えるのはやめた。

次。
コメント投稿は、記事の投稿と似たようなもんだから現状でも作ることは可能。
各ページの記事のデータベース化もトップページの二番煎じ+ファイル生成ぐらい。
CSSの整理はもうすぐ(仮にも)講義があるからそれまでは保留で。
レスポンシブは、ケッコー辛い気がする。CSS覚えてから。
記事の検索機能もはDBでWHEREとGROUP BYを使えばなんとでもなりそう。
問い合わせページは、ぶっちゃけいらねーよって思ったけど、
仮にもCMSという建前上メールサーバと繋げようかなと。
実際管理画面で問い合わせが来てるよーこんな内容だよーってのが、
見れれば事足りるわけではあるけどそれじゃ、コメント機能の実装と
大差ないし別の手法も触るだけ触るって意味を込めて。


管理ページに必要なもの
ログインページ、アクセス解析ページ、画像管理ページ、コメント管理ページ、
投稿ページ(一覧、検索、編集)、カテゴリ管理(一覧、検索、編集)、
CSS編集ページ(デザイン替えられると良いよね)
投稿ページは出来たら、ボタンを押したらHTMLタグを挿入するような機能付けたいけど
PHPだけだと結構しんどい。javaScriptやらんとってなる。


他にもこんなの出来そうって構想はあるけど↑のやったら
相当な時間取られて他出来ないんだろうなーと。

pythonやりたいけど現時点で(今やろうとしてる事に関して言えばだけど)
どう考えてもjavaScriptの方がpythonより先にやる必要性がある件。

困った/(^o^)\日々悩む\(^o^)/


あ、最後にPHP少しだけ弄ったメモだけ。
メイン記事の新規投稿時は改行を「<br />」に置き換えるnl2br関数を使って
nl2br($_POST['hogehoge'])
ってしてたから改行タグを入れなくても反映されてたんだけど、

メイン記事の編集時、通常の改行(記事書く際のエンター)と上記のnl2brで置き換えられた
改行(<br />)の両方を読み込んでて下記スクショ左側みたいになってた。
ほんでこのまま更新させると通常の改行とnl2brの改行で二重に改行がされてしまって、
更に続けるとどんどん改行が増えてく仕様になってた訳で
毎度メモ帳とかで改行タグだけ消して貼り付けしてたけどいい加減面倒くさいから、
正規表現関数使ってみた。
preg_replace( 正規表現の指定 , 置換える文字列 , 検索する文字列 )

実際の該当箇所のコード的には
<textarea><?= e($row['text']) ?></textarea>
↓変更
<textarea><?= e(preg_replace('<<br />>', '', $row['text'])) ?></textarea>
こうなった。




TOPページへ戻る