「最新中古車情報」を 子ディレクトリのhtml内で表示したい

カテゴリ 【CMS】通常版(不動産・中古車販売など)
タイトル 「最新中古車情報」を 子ディレクトリのhtml内で表示したい
質問者 宮嶋さん (2487)
質問日時 2024/01/10 00:41 回答数 5
メディア共有 このエントリーをはてなブックマークに追加
参考ファイル screenshot.1044.jpg
質問内容

中古車販売業者テーマにて
「最新中古車情報」を
子ディレクトリのhtml内で表示したいのですが(トップが/cms/の場合、/cms/about/index.htmlといったページです)
インデックスのコードをそのままコピーしたところ表示されません。

どのようにすれば表示されるか、ご教示くださいますと幸いです。
よろしくお願いいたします。

質問に回答するには、ログインしてください。

回答(5件)

回答者:
q19cms担当者さん (2341)
回答日時:
2024/01/19 11:16

お知らせ用CMSでは、Javascriptファイル内で、ページの呼び出しをしています。
呼び出すファイル名は、index.htmlの終りの方で、

var detail_html = "info.html";

として指定しています。
この部分をindex.phpを通して表示するように修正してください。

var detail_html = "./indexphp?act=info";

これで、お知らせ詳細を開く際に、新着情報などが表示できると思います。
お知らせ一覧ページも必要であれば、同様に修正します。


回答者:
宮嶋さん (2487)
回答日時:
2024/01/18 21:54

「最新中古車情報」の表示について、ご教示頂きありがとうございます。
「/?act=」を使ってindex.phpから開く方法により大方のページを作成できました。

しかし、お知らせCMSの記事詳細ページ(info.html)では
記事へのリンクが「<a href="javascript:detail_info(50)">WebSiteを公開しました。</a>」のようになっており
自動的にinfo.htmlにリンクされてしまいます。
つまり「最新中古車情報」が表示できません。

お知らせCMSの記事詳細ページで、「最新中古車情報」を表示するには、どのように設定したらよろしいでしょうか。
お手数をおかけいたしますが、お教えいただけますと幸いです。
よろしくお願いいたします。


回答者:
q19cms担当者さん (2341)
回答日時:
2024/01/12 10:21
ファイル:
index20240112.zip

前回の回答にも書きました通り、データを表示させるには、プログラム(index.php)を
通して表示させる必要があります。
about.htmlを指定すると、そのファイルがそのまま表示されてしまいます。
現在は、トップページ、一覧ページ、詳細ページ以外は表示する方法がありません。
そこで、それ以外のページもプログラムから出力できるように修正したindex.phpを
用意しました。(添付ファイルを展開して取り出してください)
ただし、about.htmlを指定すると、同じことなので、プログラムから開くように次の
様に指定してください。

https://~/about/?act=about

~の部分には、ご利用のURLを入れてください。
この例では、プログラムを通して、about.htmlを開きます。
about以外の場合は、この部分を書き換えてください。

プログラムの追加部分は次のようになっています。

-----------------------
// 任意のhtmlを開く
if ($act != "index") {
$html = $act . ".html";
$data["osusume"] = bukken_list(0, 0, 0, 8, 2); // おすすめ
$data["list0"] = bukken_list(0, 0, 0, 8, 1); // 全情報の新着
htmltemplate::t_include($html, $data);
exit;
}
-----------------------
この例では、おすすめと全種類からの新着をosusumeとlist0という名前で
出力しています。
about.htmlの中で出力できるのは、osusumeとlist0になります。
osusumeは次のように出力します。(index_.htmlの該当部分を見て下さい)

<!--{each osusume}-->
<div class="list">
<a href="?act=bukken&id={val osusume/info_id}">
<figure>
<!--{def osusume/image1_file}-->
<img src="../user_data/{val osusume/image1_file}" alt="{val osusume/title}">
<!--{/def}-->
<!--{ndef osusume/image1_file}-->
<img src="images/noimg.png" alt="{val osusume/title}">
<!--{/ndef}-->
</figure>
<h4>{val osusume/title}</h4>
<p>■{val osusume/info1/title}…{val osusume/info1/value}
■{val osusume/info2/title}…{val osusume/info2/value}
■{val osusume/info3/title}…{val osusume/info3/value}
</p>
</a>
</div>
<!--{/each}-->

list0は次のように出力します。

<!--{each list0}-->
<div class="list">
<a href="?act=bukken&id={val list0/info_id}">
<figure>
<!--{def list0/image1_file}-->
<img src="../user_data/{val list0/image1_file}" alt="{val list0/title}">
<!--{/def}-->
<!--{ndef list0/image1_file}-->
<img src="images/noimg.png" alt="{val list0/title}">
<!--{/ndef}-->
</figure>
<h4>{val list0/title}<!--{def list0/new_flag}--><span class="newicon">NEW</span><!--{/def}--></h4>
<p>{val list0/info1/title}:{val list0/info1/value}<br>
{val list0/info2/title}:{val list0/info2/value}<br>
{val list0/info3/title}:{val list0/info3/value}
<!--{def list0/recommend1}--><span class="option1">おすすめ</span><!--{/def}-->
<!--{def list0/recommend2}--><span class="option2">ご契約済</span><!--{/def}-->
</p>
</a>
</div>
<!--{/each}-->

その他の一覧を出す場合も同様です。
index.phpで一覧のデータを用意して、目的のhtmlで出力用のコードを追加します。

この様なカスタマイズは、多少なりとも基本的な表示の仕組みの理解が必要です。

大変参考になりました


回答者:
宮嶋さん (2487)
回答日時:
2024/01/12 01:50

車両情報を下層ディレクトリのページで表示する方法について、
ご教示頂いた方法で、index_.htmlでは表示されるようになりました。ありがとうございます。

しかし、それ以外のページ(about.htmlなど)では表示されません。
index_.html以外でも表示する方法をお教えいただけますと幸いです。
よろしくお願いいたします。


回答者:
q19cms担当者さん (2341)
回答日時:
2024/01/10 09:30

登録されたデータを表示するには、プログラム(今回の場合はindex.php)から
表示を行う必要があります。
このためには、cmsにあるindex.phpが必要ですので、それをコピーします。
index.phpでは、setup.phpも必要ですので、これもコピーします。
このままでは、データファイル(cms階層のdata/cms.sqlite)が見つからなくなり
ますので、setup.phpを修正します。

修正前:
// データベースファイルの場所と名前
$DB_URI = "data/cms.sqlite";
修正後:
// データベースファイルの場所と名前
$DB_URI = "../data/cms.sqlite";

index.phpから表示するために、index.htmlをindex_.htmlに名前を変えます。
これでデータ部分が表示されるようになります。
登録した画像などを参照している場合は、画像の場所を修正する必要があります。
index_.htmlの中の、user_data/を../user_data/に変更します。

list0を使用しているので、これで新着情報が目的の場所に表示されるはずです。

もしうまくゆかない場合は、再度ご質問いただくか、有償でのサポートも行っておりますので、
ご検討ください。

大変参考になりました


5件中 1 ~ 5