picoモジュールで記事の先頭にメニューを設置したい。

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー




前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2019/7/26 11:23 | 最終変更
タツ  管理人   投稿数: 2389 オンライン
よくブログなどを見ると最初に記事内容が表示されていてこれええなぁと思うことがあります。現在、このサイトでは記事掲載が便利なpicoモジュールを利用していて、オリジナルのpicoモジュールでは記事の項目をサイドに表示するのが限界です。無理矢理メニューを手動で掲載する方法もありますが、記事が多いのでそれぞれに作っていくにはあまりにも無謀です。どうにかならないかと試行錯誤した結果次のように修正して掲載してみました。その時の忘備録です。

サーバーにて
xoops_trust_path/modules/pico/templates/block_menuファイルを複製し名前を変更(block_menu_head)しこのファイルを追加します。
→xoops_trust_path/modules/pico/templates/block_menu_headを追加(FTP等でこのファイルをアップロード追加)

サイト管理画面にて
picoモジュールを利用したモジュールをアップデートします。
テンプレートを編集に「モジュール名_block_menu_head」というテンプレートが作成されるので現在利用しているテンプレートにコピーし以下のように編集します。

テンプレートを編集
モジュール名_block_menu
サイドにカテゴリーだけの表示でOKなのでカテゴリー内の項目については表示しません。
<{foreach item=category from=$block.categories}>

    <div style="margin:5px 0 0;padding:3px;background-color:#f7f7f7;">
        <a href="<{$block.mod_url}>/<{$category.link}>">
            <b>■<{$category.title}></b>
        </a>
    </div>

<{/foreach}>

モジュール名_block_menu_head
このテンプレートについては表示されたカテゴリーと一致した場合、その題名と項目を表示します。
<{foreach item=category from=$block.categories}>

<{if $category.id == $smarty.get.cat_id }>

<h3><{$category.title}>のメニュー</h3>

<{foreach item=content from=$category.contents}>
<{if $block.mod_url|cat:"/"|cat:$content.link == $xoops_url|cat:$smarty.server.REQUEST_URI}>

<div style="border:8px solid #eee;padding:1em 1em 0 1em;">
<div class="line_block">
    <ul><{foreach item=content from=$category.contents}><li style="margin:5px 0;"><a href="<{$block.mod_url}>/<{$content.link}>" title="<{$block.lang_lastupdated}>:<{$content.created_time_formatted}>"><{$content.subject}></a></li>
    <{/foreach}>
    </ul>
</div>
</div>
<{/if}>
<{/foreach}>
<{/if}>
<{/foreach}>
※因みにclass="line_block"は項目の前に印を入れるCSSです。

ALTSYSブロック管理にて設定
ブロック管理にて表示したいpicoモジュールのメニューを複製し編集します。この時、ブロックのテンプレートの項目には先ほど編集したdb:モジュール名__menu_headを指定します。また、タイトルは表示されるとタブってしまうのでnoneを入れて表示しないようにします。

今のところpicoモジュールを利用しているものについて全部(ソロツーリングを楽しもう!、バイクメンテとD.I.Y、世界一周の旅を楽しもう!、趣味を楽しもう)に反映しています。
 
投票数:15 平均点:4.67
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2019/8/12 16:21
タツ  管理人   投稿数: 2389 オンライン
作成したメニューの中で現在閲覧しているページがどこなのか分かるようにさらにモジュール名_block_menu_headを以下のように編集してみました。<{foreach item=category from=$block.categories}> <{if $category.id == $smarty.get.cat_id }> <b>■&...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2023/2/25 5:02
タツ  管理人   投稿数: 2389 オンライン
この度、phpのバージョンアップを機にpicoモジュールで記事の先頭のメニューを再考しました。この記事のように先頭にメニューを表示するとメニューが多い場合は記事が下の方に表示され見にくいのでアコーディオンメニューにして記事ができるだけすぐに見えるようにしてみま...詳細を見る!



     条件検索へ

旅と気ままなフォーラム最新投稿

欲しい商品が必ず見つかるメジャーなネットショップ

ログイン

Facebook,RSSリンク表示

検索

アクセスカウンタ

今日 : 396
昨日 : 240
総計 : 1619581