HTML+CSSのサイトをconcrete5に変換した後のサイト内リンクについて

2014年9月24日 at 1:25

チュートリアルのオリジナルテーマのつくり方を参考にしてサイトトップページを表示させることは出来たのですが、
リンクをクリックすると404エラーが出て困っています。

以前、wordpressでも似たような事があったのですが、
wordpressでは、hogehoge.phpのページ最上部にTemplate name: hogehoge と記述してから、
hogehogeと言う固定ページを追加するという方法でリンク切れを回避していました。

似ている回避方法があると助かるのですが
concrete5でリンク切れを回避するにはどのようにしたら良いのでしょうか?
何卒ご教示よろしくお願いいたします。

バージョン5.6.3.1

タグ:

Re: HTML+CSSのサイトをconcrete5に変換した後のサイト内リンクについて

2014年9月24日 at 8:00
どのように運営されるかにもよりますが、concrete5内でのリンクでよろしいでしょうか?
テーマに書く、ブロックで書くの二通りの方法を説明します。

ブログページに行く場合の例で書きます。

テーマに書く場合
<a href="<?php echo $this->url('/blog')?>">ブログ</a>

ブロックに書く場合

記事ブロックタイプを使用して編集画面の上部のページへのリンクを挿入

各メリットデメリット

テーマに書く
メリット:後からブロックを追加しなくてもよい
デメリット:リンク先のページのURLを後で変更したい場合テーマの書き換えが必要

ブロックに書く

メリット:URLを変更しても追従して変更してくれる
デメリット:ブロックを追加するのが面倒かもしれません。

concrete5では、でURLを変更できる機能が付いています。(WordPressもあるんでしょうか?)
上部メニューの編集→設定より変更できますので、簡単に変更できます。
運用方法にもよりますが、僕はいつもブロックに書く方法で実現しています。
 

Re: HTML+CSSのサイトをconcrete5に変換した後のサイト内リンクについて

2014年9月24日 at 14:03
返信ありがとうございます。詳細に書いていただいて本当に助かります。

更新の度にファイルをアップロードする形を取りたいので、テーマに書く方法を選びました。
お陰様で、404エラーは出なくなったのですが、今度はPage Not Found が出てしまいました。

HTML+CSSでの <a href="hogehoge.html">ほげほげ</a> を
concrete5でもきちんとリンク先が表示されるようにしたいと思っています。

現状は下記の通りです。

<a href="<?php echo $this->url('/hogehoge.php')?>">ほげほげ</a>

hogehoge.phpは
【concrete5ディレクトリー】/themes/【任意の半角英数字ディレクトリー】/
に置いてあります(default.phpと同じ場所)。

お手数お掛け致しますが、引き続きご教示お願いいたします。
 

Re: HTML+CSSのサイトをconcrete5に変換した後のサイト内リンクについて

2014年9月24日 at 14:51
僕はWordPressを知らないので的確な説明ができないのが申し訳ないのですが
concrete5では、固定ページという概念はなく、
themesフォルダに作ったものはすべて実際のページではなく、ページタイプというものになります。
現在作られたhogehoge.phpはページタイプなのでhogehogeページタイプを使ってページを作成し、作成したページをリンク先することになります。

ページの作成方法

[編集→新規ページ]

ページタイプを選択(hogehogeを選択)

基本プロパティで名前、必要項目を入力(ここでページのURLスラッグを「hogehoge」にする」

テーマで
$this->url('hogehoge')
とします。「.php」は不要です。
concrete5の場合 固定で作れるページはありません。すべてのページはデータベース内にありますのでphpファイルやhtmlファイルを直接指定してリンクしたい場合はconcrete5の外で作成することになります。
 

Re: HTML+CSSのサイトをconcrete5に変換した後のサイト内リンクについて

2014年9月25日 at 0:34
返信ありがとうございます。

無事解決致しました!

分かりやすくて非常に助かりました。
ありがとうございました。
 

Re: HTML+CSSのサイトをconcrete5に変換した後のサイト内リンクについて

2014年9月24日 at 15:26
横からすいません。ちょっと気になったので。
Template name: hogehogeというのを記述するのは固定ページをカスタムテンプレート化するということで、偶然うまくいっただけで、根本的な解決にはなっていないと思います。

WordPressの場合テンプレート内に書くのであれば
リンクなら
<a href="<?php echo esc_url( home_url( '/access/' ) ); ?>" >アクセスページ</a>
画像なら
<img src="<?php echo get_template_directory_uri(); ?>/image/logo.png" alt="ロゴ画像">
という書き方だと思います。

cocnrete5に関しては、aclissさんの説明の通りです。
 

Re: Re: HTML+CSSのサイトをconcrete5に変換した後のサイト内リンクについて

2014年9月25日 at 0:48
返信ありがとうございます。

正当なやり方ではないとは思っていましたが、やはりそうでしたかー。
以降WordPressを触る機会があったときは、是非、参考にさせて頂きます。

アドバイスありがとうございました!