Template:Forum url: Difference between revisions

Template expansion to add support for listing all forum members and complex forum searches. The 'type' parameter has been added to switch between 'view', 'member', and 'search' modes. This allows for easy expansion for links to other forum URLs.
(Added support for a 'u' parameter for specifying a forum user number.)
(Template expansion to add support for listing all forum members and complex forum searches. The 'type' parameter has been added to switch between 'view', 'member', and 'search' modes. This allows for easy expansion for links to other forum URLs.)
 
Line 1: Line 1:
{{project infrastructure|forum|link=no}}<!--
{{project infrastructure|forum|link=no}}<!--
  -->{{#if: {{{u|}}}
-->{{#switch: {{{type|view}}}
      | /memberlist.php?mode=viewprofile&u={{{u}}} <!-- URI component required for showing a user -->
    | view = <!--
      | {{#if: {{{f|{{{t|{{{p|{{{anchor|{{{hilit|}}}}}}}}}}}}}}}
      -->{{#if: {{{f|{{{t|{{{p|{{{anchor|{{{hilit|}}}}}}}}}}}}}}}
          | {{#if: {{{t|{{{p|{{{anchor|{{{hilit|}}}}}}}}}}}}
            | {{#if: {{{t|{{{p|{{{anchor|{{{hilit|}}}}}}}}}}}}
              | /viewtopic.php? <!-- Add viewtopic.php if any parameters, excluding 'f', are supplied. -->
                | /viewtopic.php? <!-- Add viewtopic.php if any parameters, excluding 'f', are supplied. -->
              | /viewforum.php? <!-- Add viewforum.php if only the 'f' parameter is supplied. -->
                | /viewforum.php? <!-- Add viewforum.php if only the 'f' parameter is supplied. -->
            }}
              }}
         }}<!--
         }}<!--
       -->{{#if: {{{f|}}}
       -->{{#if: {{{f|}}}
Line 29: Line 29:
                   }}
                   }}
         }}
         }}
     }}<noinclude>
     | member = <!--
      -->/memberlist.php<!-- Base phpBB file.
      -->{{#if: {{{u|}}}
          | ?mode=viewprofile&u={{{u}}} <!-- URI component required for showing a user -->
        }}
    | search = <!--
      -->/search.php<!-- Base phpBB file.
      -->{{#if: {{{keywords|}}}
          | ?keywords={{{keywords}}}
        }}<!--
      -->{{#if: {{{f|}}}
          | &fid&#91;&#93;={{{f}}}
        }}<!--
      -->{{#if: {{{t|}}}
          | &t={{{t}}}
        }}<!--
-->}}<noinclude>
{{Informative template|1=
{{Informative template|1=
== Goal ==
== Goal ==
Line 38: Line 54:


  {{obr}}'''forum url'''
  {{obr}}'''forum url'''
  {{!}} ''f''     =
{{!}} ''type''    =
  {{!}} ''t''     =
  {{!}} ''f''       =
  {{!}} ''p''     =
  {{!}} ''t''       =
  {{!}} ''u''     =
  {{!}} ''p''       =
  {{!}} ''anchor'' =
  {{!}} ''anchor''   =
  {{!}} ''hilit'' =
  {{!}} ''hilit''   =
  {{!}} ''keywords'' =
  {{cbr}}
  {{cbr}}


; f: Forum number to be passed to phpBB's viewtopic.php (optional).
; type: The forum interface type that can be one of:
 
:; view: The default value.  This is used for URLs to posts, topics, and posts, via phpBB's <code>viewforum.php</code> or <code>viewtopic.php</code>.


; t: Thread number to be passed to phpBB's viewtopic.php (optional).
:; member: For URLs of a user on the forum, via phpBB's <code>memberlist.php</code>.  This value will cause the {{param|f}}, {{param|t}}, {{param|p}}, {{param|anchor}}, and {{param|hilit}} parameters to be ignored.


; p: Post number to be passed to phpBB's viewtopic.php (optional).
:; search: For URLs performing forum searches, via phpBB's <code>search.php</code>.  This value will cause the {{param|p}}, {{param|anchor}}, and {{param|hilit}} parameters to be ignored.


; u: User number to be passed to phpBB's memberlist.php (optional).  If supplied, the {{param|f}}, {{param|t}}, {{param|p}}, {{param|anchor}}, and {{param|hilit}} parameters will be ignored.
; f: Forum number (optional).  Used with the {{param|type}} values of {{param||view}} and {{param||search}}.


; anchor: HTML anchor, used for jumping to posts (optional).
; t: Topic number (optional).  Used with the {{param|type}} values of {{param||view}} and {{param||search}}.


; hilit: Words on the forum posts to be highlighted (optional).  Words should be separated by the plus character "+".
; p: Post number (optional).  Used with the {{param|type}} value of {{param||view}}.
 
; anchor: HTML anchor, used for jumping to posts (optional).  Used with the {{param|type}} value of {{param||view}}.
 
; hilit: Words on the forum posts to be highlighted (optional).  Words should be separated by the plus character "+".  Used with the {{param|type}} value of {{param||view}}.
 
; u: User number (optional).  Used with the {{param|type}} value of {{param||member}}.
 
; keywords: The keywords to perform a forum search with (optional).  Words should be separated by the plus character "+".  Used with the {{param|type}} value of {{param||search}}.


== Technical details ==
== Technical details ==
Line 70: Line 97:
{{forum url}}
{{forum url}}


=== A subforum (The FlightGear project) ===
=== View mode ===
 
==== A subforum (The FlightGear project) ====


  {{obr}}forum url{{!}}f=42{{cbr}}
  {{obr}}forum url{{!}}f=42{{cbr}}
Line 76: Line 105:
{{forum url|f=42}}
{{forum url|f=42}}


=== A topic (FlightGear Newsletter) ===
==== A topic (FlightGear Newsletter) ====


  {{obr}}forum url{{!}}t=7794{{cbr}}
  {{obr}}forum url{{!}}t=7794{{cbr}}
Line 82: Line 111:
{{forum url|t=7794}}
{{forum url|t=7794}}


=== A post (Re: Marking topics as "solved") ===
==== A post (Re: Marking topics as "solved") ====


  {{obr}}forum url{{!}}p=111333{{cbr}}
  {{obr}}forum url{{!}}p=111333{{cbr}}
Line 88: Line 117:
{{forum url|p=111333}}
{{forum url|p=111333}}


=== Subforum, topic and post ===
==== Subforum, topic and post ====


{{note|The {{param|f}} and {{param|t}} parameters are redundant in this URL.}}
{{note|The {{param|f}} and {{param|t}} parameters are redundant in this URL.}}
Line 96: Line 125:
{{forum url|f=8|t=10805|p=111333}}
{{forum url|f=8|t=10805|p=111333}}


=== Topic and post ===
==== Topic and post ====


{{note|The {{param|t}} parameter is redundant in this URL.}}
{{note|The {{param|t}} parameter is redundant in this URL.}}
Line 104: Line 133:
{{forum url|t=10805|p=111333}}
{{forum url|t=10805|p=111333}}


=== Anchoring ===
==== Anchoring ====


  {{obr}}forum url{{!}}t=10805{{!}}anchor=p111333{{cbr}}
  {{obr}}forum url{{!}}t=10805{{!}}anchor=p111333{{cbr}}
Line 110: Line 139:
{{forum url|t=10805|anchor=p111333}}
{{forum url|t=10805|anchor=p111333}}


=== Highlighting ===
==== Highlighting ====


  {{obr}}forum url{{!}}t=10805{{!}}hilit=board+index{{cbr}}
  {{obr}}forum url{{!}}t=10805{{!}}hilit=board+index{{cbr}}
Line 116: Line 145:
{{forum url|t=10805|hilit=board+index}}
{{forum url|t=10805|hilit=board+index}}


==== Highlight a post ====
===== Highlight a post =====


  {{obr}}forum url{{!}}p=111333{{!}}hilit=contains+a+problem{{cbr}}
  {{obr}}forum url{{!}}p=111333{{!}}hilit=contains+a+problem{{cbr}}
Line 122: Line 151:
{{forum url|p=111333|hilit=contains+a+problem}}
{{forum url|p=111333|hilit=contains+a+problem}}


=== User ===
=== Member mode ===
 
==== Member listing ====
 
{{obr}}forum url{{!}}type=member{{cbr}}
 
{{forum url|type=member}}
 
==== Specific member ====
 
{{obr}}forum url{{!}}type=member{{!}}u=2{{cbr}}
 
{{forum url|type=member|u=2}}
 
=== Search mode ===
 
==== Search page ====
 
{{obr}}forum url{{!}}type=search{{cbr}}
 
{{forum url|type=search}}
 
==== Search everything ====
 
{{obr}}forum url{{!}}type=search{{!}}keywords=c172p+floats{{cbr}}
 
{{forum url|type=search|keywords=c172p+floats}}
 
==== Search a subforum ====
 
{{obr}}forum url{{!}}type=search{{!}}f=4{{!}}keywords=c172p+floats{{cbr}}
 
{{forum url|type=search|f=4|keywords=c172p+floats}}
 
==== Search a topic ====


  {{obr}}forum url{{!}}u=2{{cbr}}
  {{obr}}forum url{{!}}type=search{{!}}t=25157{{!}}keywords=c172p+floats{{cbr}}


{{forum url|u=2}}
{{forum url|type=search|t=25157|keywords=c172p+floats}}


== Related templates ==
== Related templates ==