web-dev-qa-db-ja.com

privatemsg 6.x-2.xモジュールのHTML出力のテーマ設定

Privatemsg の出力にテーマを設定するにはどうすればよいですか? http://api.worldempire.ch/api/privatemsg/privatemsg.theme.inc/group/theming/1 を確認しましたが、その使用方法がわかりませんでした。メッセージ一覧のHTML出力を全面的に変更したい。

メッセージでカスタム日付形式を使用するにはどうすればよいですか? format_date()関数が役立つと思いますが、それを正しく使用するにはどうすればよいですか?

print format_date($messages_timestamp, 'custom', 'd=m=Y')は「01.01.1970」を返します。それは何ですか?

2
Alexander Kim

わかりました、ここにいくつかの情報があります。

  • このリストには、単一のメッセージではなくthreadsが表示されます。少なくともテーマ設定では、それを変更することはできません。簡単にできる唯一のことは、privatemsg_limitsモジュールを有効にし、スレッドごとのメッセージ数を1に設定することです。これにより、基本的にスレッドが無効になり、各メッセージが新しいスレッドとして送信されます。次に、リストに個別に表示されますが、スレッドビューページにも個別に表示されます。 Privatemsg views は現在6.x-1.xとのみ互換性があり、この時点では保守されていないように見えます。

  • Privatemsg設定で、表示される列とその順序を構成できます。

  • テーマ機能は、単一の列のコンテンツをカスタマイズするために使用されます。たとえば、異なる日付形式を表示するには、 phptemplate_privatemsg_list_field__last_updated() をオーバーライドできます。

    function phptemplate_privatemsg_list_field__thread_started($thread) {
      $field = array();
      $field['data'] = format_date($thread['thread_started'], 'custom', 'd.m.Y H:i');
      $field['class'] = 'privatemsg-list-date-started';
      return $field;
    }
    

    7.xでは、Privatemsgはメッセージの経過時間に応じて異なる日付形式を表示します。これは、バックポートする場合は privatemsg_format_date() で行われます。

  • テーブルの外観を変更するには、CSSだけで変更できる必要があります。 Privatemsgは、すべての列の個別のクラスと新しいメッセージを含む行のクラス、そしてすぐに 未返信のメッセージも を含むクラスのトンをテーブルに追加します。

2
Berdir

format_date() UNIXタイムスタンプが必要です。これは、1970年1月1日から経過した秒数を含む整数です。 0、NULL、または数値で始まらない文字列を渡すと、関数の結果は1970年1月1日になります。

あなたの場合、それは$messages_timestampは、定義済み変数、設定解除された変数、またはNULLに設定された変数ではありません。

0
kiamlaluno