リソースIDからリンクを取得するスニペット - M-Blog

リソースIDからリンクを取得するスニペット

リソースIDからリンクを取得するスニペット

手動でリンクの一覧を作る必要があってスニペットを作りました。

リソースIDからタイトルとリンクを取得します。パラメータを追加するといろいろできると思いますが、まずは最低限必要なだけで。

<?php
if(empty($id)) return;
$fields = $modx->getDocument($id, $fields= '*', $published= 1, $deleted= 0);
$title = $fields['pagetitle'];
$url = $modx->makeUrl($id);
echo '<a href="'.$url.'" title="'.$title.'">'.$title.'</a>';

[[article?&id=`9`]] と書けば、このサイトでは「Deskmini 310を買って組み立てた」となります。

API:getDocument

使用したAPIの解説です。

$modx->getDocument($id, $fields, $published, $deleted)

これはリソース変数を取得するAPIです。

  • $id...リソースID
  • $fields...リソース変数名(カンマ区切り)
  • $published...公開中かどうか
  • $deleted...削除されているかどうか

基本的にはリソースIDさえ入れておけば、そのリソースのリソース変数すべてを配列で取得してきます。

$id = 1;
$fields = $modx->getDocument($id);
echo $fields['pagetitle'];

$fields のデフォルトは「*」となっており、カンマ区切りでフィールド名を取得すると制限できます。

$id = 1;
$fields = $modx->getDocument($id, 'pagetitle,longtitle');
if($fields['longtitle']){
echo $fields['longtitle'];
}else{
echo $fields['pagetitle'];
}

$published のデフォルトは「1(公開中)」で、0 は非公開です。

$delited のデフォルトは「0(未削除)」で1は削除済みです。完全に削除したリソースは表示されません。


2018年08月23日 / CMS

カテゴリー

アーカイブ

最近の投稿

最近の更新

リンク