Difference between revisions of "Template:Topic"

From Encyclopedia of Scientonomy
Jump to navigation Jump to search
Line 134: Line 134:
 
     --><!--
 
     --><!--
 
   -->}}<!-- arrayprint
 
   -->}}<!-- arrayprint
 +
  --><!--
 +
  --><!-- also construct an array with links or red links to be displayed at the bottom
 +
  -->{{#arraydefine: arrayParentPageLinks<!--
 +
  -->|{{#arrayprint: arrayIntersectTerms||varTerm<!--
 +
    -->|<!--
 +
      -->{{#vardefine: varTitle| {{DecodeTitleFormula|formula={{#var: varTitleFormula}}|subject=varTerm|predicate={{#var: varPredicate}}|object={{#var: varObject}}|}} }}<!--
 +
      --><!--
 +
      --><!-- check if the page exists
 +
      -->{{#ifexist:{{#var: varTitle}}<!--
 +
      -->|<!-- exist: add the link to the page
 +
        -->[[{{#var: varTitle}}]]<!--
 +
      -->|<!-- doesn't exist: add the formlink
 +
        -->{{#formlink:form=Topic|link text={{#var: varTitle}}|target={{#var: varTitle}}|query string=Topic[Subject]=varTerm&Topic[Inherited From]={{{Inherited From|}}}|}}<!--
 +
      -->}}<!-- if exists
 +
      --><!--
 +
    -->}}<!-- arrayprint
 +
  -->| , |unique<!--
 +
  -->}}<!-- arraydefine
 
   --><!--
 
   --><!--
 
  -->|<!-- not inherited: still construct an empty array for the use below
 
  -->|<!-- not inherited: still construct an empty array for the use below
   -->{{#arraydefine: arrayIntersectTerms}}<!--
+
   -->{{#arraydefine: arrayParentPageLinks}}<!--
 
   --><!--
 
   --><!--
 
-->}}<!-- if inherited from
 
-->}}<!-- if inherited from
Line 290: Line 308:
 
-->}}<!--
 
-->}}<!--
 
--><!--
 
--><!--
--><!-- construct the array of links or redlinks
+
--><!-- create the union of the manual and calculated arrays of parent topics
-->{{#arraydefine: arrayParentPageLinks<!--
 
-->|{{#arrayprint: arrayIntersectTerms||varTerm<!--
 
  -->|<!--
 
    -->{{#vardefine: varTitle| {{DecodeTitleFormula|formula={{#var: varTitleFormula}}|subject=varTerm|predicate={{#var: varPredicate}}|object={{#var: varObject}}|}} }}<!--
 
    --><!--
 
    --><!-- check if the page exists
 
    -->{{#ifexist:{{#var: varTitle}}<!--
 
    -->|<!-- exist: add the link to the page
 
      -->[[{{#var: varTitle}}]]<!--
 
    -->|<!-- doesn't exist: add the formlink
 
      -->{{#formlink:form=Topic|link text={{#var: varTitle}}|target={{#var: varTitle}}|query string=Topic[Subject]=varTerm&Topic[Inherited From]={{{Inherited From|}}}|}}<!--
 
    -->}}<!-- if exists
 
    --><!--
 
  -->}}<!-- arrayprint
 
-->| , |unique<!--
 
-->}}<!-- arraydefine
 
--><!--
 
--><!-- create the union of the two arrays
 
 
-->{{#arrayunion: arrayMerged|arrayManual|arrayParentPageLinks}}<!--
 
-->{{#arrayunion: arrayMerged|arrayManual|arrayParentPageLinks}}<!--
 
--><!--
 
--><!--

Revision as of 17:43, 22 January 2023

This is the template for all types of Non-Definitional Topics (Descriptive, Normative). This template is to be used for all topics/questions the answers to which are descriptions or prescriptions (it is used by Form:Topic).

It should be called in the following format:

{{Topic
 |Subject= //For first order questions, the subject must be a term registered in the encyclopedia. For higher order questions, the subject can be any lower level non-definitional theory question or theory.
 |Topic Type= {Descriptive, Normative}
 |Subfield= {Ontology, Dynamics, etc.}
 |Heritable= {Yes, No}
 |Inherited From= //the question that this question is inherited from
 |Question Text Formula= //For heritable questions only.
 |Question Title Formula= //For heritable questions only.
 |Question Title= //Ignored for heritable questions.
 |Question= //For non heritable questions only. For heritable questions, this is available to the editors only to use in cases when the text produced by the formula should be overridden. 
 |Predicate= //Some text or a term registered in the encyclopedia
 |Object Type= {Boolean, Class, Enumeration, Regular Expression, Text}
 |Object Value True= //optional. Used only if Object Type=Boolean
 |Object Value False= //optional. Used only if Object Type=Boolean
 |Object Class= //optional. Used only if Object Type=Class
 |Object Enum Values= //optional. Used only if Object Type=Enumeration
 |Object Regexp= //optional. Used only if Object Type=Regexp
 |Single Answer Text Formula=
 |Multiple Answers Text Formula=
 |Answer Title Formula=
 |Description=
 |Authors List=
 |Formulated Year=
 |Academic Events=
 |Prehistory=
 |History=
 |Current View=
 |Parent Topic= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent. For now it is allowed as a backdoor so that it can be assigned manually.
 |Related Topics= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.
 |Page Status=
 |Editor Notes=
}}

Edit the page to see the template text.