# CHAPITRE 29 — Référence des shortcodes

Tous les shortcodes livrés par le module, avec leurs sélecteurs et leurs champs disponibles.

### <span style="color: rgb(35, 111, 161);">Namespace product</span>

**Sélecteurs**<span style="white-space: pre-wrap;"> : </span>`<span class="editor-theme-code">ref=<ref></span>`<span style="white-space: pre-wrap;"> ou </span>`<span class="editor-theme-code">id=<rowid></span>`<span style="white-space: pre-wrap;"> ou </span>`<span class="editor-theme-code">ref=$current</span>`<span style="white-space: pre-wrap;"> (marqueur).</span>

<table id="bkmrk-champsourcelabelllx_" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.92em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Champ

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Source

</th></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">label</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">llx_product</span>`

<span style="white-space: pre-wrap;"> et </span>

`<span class="editor-theme-code">llx_product_lang</span>`

<span style="white-space: pre-wrap;"> selon la langue</span>

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">description</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">idem

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">note</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);"><span style="white-space: pre-wrap;">si </span>

`<span class="editor-theme-code">PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION</span>`

<span style="white-space: pre-wrap;"> est activée</span>

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">ref</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">llx_product.ref</span>`

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">price</span>`

<span style="white-space: pre-wrap;">, </span>

`<span class="editor-theme-code">price_ttc</span>`

<span style="white-space: pre-wrap;">, </span>

`<span class="editor-theme-code">cost_price</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Prix formatés selon la langue

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">tosell</span>`

<span style="white-space: pre-wrap;">, </span>

`<span class="editor-theme-code">tobuy</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Statuts commercialisable et achetable (0 ou 1)

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">ef_<slug></span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Tout champ personnalisé

</td></tr></tbody></table>

```
{{product:ref=supplyflow.label}}
{{product:ref=$current.ef_tagline}}
{{product:id=42.price}}
```

### <span style="color: rgb(35, 111, 161);">Namespace category</span>

**Sélecteurs**<span style="white-space: pre-wrap;"> : </span>`<span class="editor-theme-code">id=<rowid></span>`<span style="white-space: pre-wrap;"> ou </span>`<span class="editor-theme-code">ref=<ref></span>`.

**Champs**<span style="white-space: pre-wrap;"> : </span>`<span class="editor-theme-code">label</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">description</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">color</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">ref</span>`.

```
{{category:id=5.label}}
{{category:ref=blog-marketing.label}}
```

### <span style="color: rgb(35, 111, 161);">Namespace dict</span>

**Sélecteurs**<span style="white-space: pre-wrap;"> : </span>`<span class="editor-theme-code"><table>.<col>=<valeur></span>`.

<table id="bkmrk-table-de-dictionnair" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.92em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Table de dictionnaire

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Exemple

</th></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">c_country</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">{{dict:c_country.code=FR.label}}</span>`

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">c_currencies</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">{{dict:c_currencies.code_iso=EUR.label}}</span>`

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">c_civility</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">{{dict:c_civility.code=MR.label}}</span>`

</td></tr></tbody></table>

### <span style="color: rgb(35, 111, 161);">Namespace mysoc</span>

**Sélecteur**<span style="white-space: pre-wrap;"> : aucun (singleton).</span>

**Champs**<span style="white-space: pre-wrap;"> : </span>`<span class="editor-theme-code">name</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">address</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">zip</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">town</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">country_code</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">phone</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">fax</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">email</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">url</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">capital</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">tva_intra</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">idprof1</span>`<span style="white-space: pre-wrap;"> à </span>`<span class="editor-theme-code">idprof6</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">logo</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">logo_small</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">logo_squarred</span>`.

```
{{mysoc.name}} — {{mysoc.address}}, {{mysoc.zip}} {{mysoc.town}}
SIRET {{mysoc.idprof2}} — TVA {{mysoc.tva_intra}}
```

### <span style="color: rgb(35, 111, 161);">Namespace extrafield</span>

**Sélecteurs**<span style="white-space: pre-wrap;"> : </span>`<span class="editor-theme-code">table=<table>|ref=<ref></span>`<span style="white-space: pre-wrap;"> ou </span>`<span class="editor-theme-code">table=<table>|id=<id></span>`<span style="white-space: pre-wrap;"> avec </span>`<span class="editor-theme-code">field=<name></span>`.

```
{{extrafield:table=product|ref=supplyflow|field=tagline}}
{{extrafield:table=societe|id=42|field=segment}}
{{extrafield:table=product|ref=$current|field=tagline}}
```

### <span style="color: rgb(35, 111, 161);">Namespace media</span>

**Sélecteur**<span style="white-space: pre-wrap;"> : </span>`<span class="editor-theme-code">ref=<ref></span>`.

<table id="bkmrk-champretoururlurl-du" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.92em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Champ

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Retour

</th></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">url</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">URL du fichier original

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">thumb</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">URL de la variante 200 × 200

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">card</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">URL de la variante 640 × 480

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">wide</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">URL de la variante 1600 × 1200

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">alt</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Texte alternatif (résolu selon la langue)

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">label</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Libellé affiché

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">width</span>`

<span style="white-space: pre-wrap;">, </span>

`<span class="editor-theme-code">height</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Dimensions en pixels

</td></tr></tbody></table>

### <span style="color: rgb(35, 111, 161);">Étendre avec un namespace personnalisé</span>

<span style="white-space: pre-wrap;">Déposez un fichier dans </span>`<span class="editor-theme-code">htdocs/custom/infrasstudio/shortcodes/<nom>.shortcode.php</span>`<span style="white-space: pre-wrap;"> qui exporte une fonction </span>`<span class="editor-theme-code">infrasstudio_shortcode_<nom>_resolve($args, $context)</span>`.

```
function infrasstudio_shortcode_myorg_resolve($args, $context)
{
    global $db;
    $id    = isset($args['id']) ? (int) $args['id'] : 0;
    $field = isset($args['_field']) ? $args['_field'] : 'name';
    // ... logique de résolution
    return $value;
}
```