ソロツーリングと気ままな旅ホームソロツーリングと気ままな旅  >  旅と気ままなフォーラム  >  XOOPS、パソコン関連  >  XOOPS関連フォーラム  >  picoモジュールで記事の先頭にメニューを設置したい。

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

  • ここでは新たな話題の追加投稿はできません。
  • ここではゲスト投稿が禁止されています

投稿ツリー




前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2019/7/26 11:23 | 最終変更
タツ  管理人   投稿数: 2011
よくブログなどを見ると最初に記事内容が表示されていてこれええなぁと思うことがあります。現在、このサイトでは記事掲載が便利な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、世界一周の旅を楽しもう!、趣味を楽しもう)に反映しています。
 
投票数:0 平均点:0.00

前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2019/8/12 16:21
タツ  管理人   投稿数: 2011
作成したメニューの中で現在閲覧しているページがどこなのか分かるように
さらにモジュール名_block_menu_headを以下のように編集してみました。
<{foreach item=category from=$block.categories}>

<{if $category.id == $smarty.get.cat_id }>
<b>■<{$category.title}>MENU</b>

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

<div style="border:1px solid #aaa;background:#CCE8F4;padding:1em 1em 0 1em;margin-bottom:3em;padding-bottom: .1em;">
<div>
	<ul><{foreach item=content from=$category.contents}>
	<{if $smarty.server.QUERY_STRING == 'content_id='|cat:$content.id}>
		<li style="background:#fff;margin:5px 0;padding-left:8px;font-weight:700;"><{$content.subject}></li>
	<{else}>
	<li style="margin:5px 0;"><a href="<{$block.mod_url}>/<{$content.link}>" title="<{$block.lang_lastupdated}>:<{$content.created_time_formatted}>"><{$content.subject}></a></li>
        <{/if}>
	<{/foreach}>
	</ul>
</div>
</div>
<{/if}>
<{/foreach}>
<{/if}>
<{/foreach}>
良いか悪いかは別にしてこれで現在閲覧しているページが分かるようになりました。
投票数:0 平均点:0.00

  条件検索へ


旅と気ままなフォーラムメニュー

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

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

このサイト内の検索

オンライン状況

23 人のユーザが現在オンラインです。 (1 人のユーザが 旅と気ままなフォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 23

もっと...

Facebook,RSSリンク表示


RSSicon 最新記事のRSS