サポート

[解決]php-markdownのSmartyプラグイン化について

leui (2022/01/14 17:18)

設置URL : https://freo.jp

お世話になります。
カスタマイズがうまくいかないので、皆さまのお知恵を拝借したいと思います。

【したいこと】
記事投稿時にMarkdown記法で投稿し、
https://github.com/michelf/php-markdown
テンプレートに上記を埋め込んでHTML表示する。

【やったこと】
・上記からMichelfフォルダをダウンロードし、/libs/Smarty/pluginsフォルダ内にフォルダごとアップロードする。(Zipから展開済み)
・modifier.markdown_extra.phpファイルを作成し、/libs/Smarty/pluginsフォルダ内にアップロードする。
・/templates/internals/view/default.htmlファイルを編集する。(とりあえずはこのテンプレートだけ)
・modifier.markdown_extra.phpファイルの内容
<?php
function smarty_modifier_markdown_extra($string)
{
require_once SMARTY_PLUGINS_DIR . 'Michelf/MarkdownExtra.inc.php';
use Michelf\MarkdownExtra;
return MarkdownExtra::defaultTransform($string);
}
?>
・default.htmlファイルの内容(一部分)
<!--{if $entry_text.excerpt}-->{$entry_text.excerpt|markdown_extra|smarty:nodefaults}<!--{/if}-->

ブラウザでアクセスすると、エラー500になります。

良い線まで行っているのか、かすってもいないのか、まったく分からない状況で途方に暮れています。

leui (2022/01/15 11:48)

解決しました。

・modifier.markdown_extra.phpファイルの内容
<?php
function smarty_modifier_markdown_extra($string)
{
require_once SMARTY_PLUGINS_DIR . 'Michelf/MarkdownExtra.inc.php';
return Michelf\MarkdownExtra::defaultTransform($string);
}
?>

これも一度は試したのですが、そのときはエラーでした。前のエラーのキャッシュが利いていたようです。
/template_cフォルダ内の.htaccessファイル以外のファイルを削除したところ、動作しました。

ちなみに、なぜMarkdown記法を使いたいかと申しますと、Excelファイルから簡単に表組を記事に移せるからです。
csvファイルにエクスポートし、','を'|'に置き換え、'--|--'を加えるだけです。

ccc (2022/05/08 14:47)

URL : https://cccabinet.jpn.org/

補足です。
PHP7以上で使用するとエラー(本文の部分が真っ白)になるので、modifier.markdown_extra.phpファイルの内容を

<?php
function smarty_modifier_markdown_extra($string)
{
  require_once 'Michelf/MarkdownExtra.inc.php';
  return Michelf\MarkdownExtra::defaultTransform($string);
}
?>

にすれば動作します。

返信

  • この記事に返信します。
  • 返信の際は、設置URL以外の項目は入力必須です。
投稿フォーム
名前
設置URL
本文(本文の装飾について
編集キー(投稿した記事を編集する際に使用します。)
投稿キー(スパム対策に、投稿キー を半角で入力してください。)