1

頭がおかしいのかもしれませんが、フォーラムのスクリプトを変更しようとしています。具体的には、新しいトピックとその後の返信を投稿する部分です。

典型的なフォーラム スクリプトのように、投稿ごとに背景を交互に表示します。

モジュラス計算を使用して、投稿番号が奇数か偶数かを判断し、対応するスタイルを出力します。つまり、新しいトピックはスレッドの最初の投稿です。たとえば、それは白、次の投稿 (返信) は灰色、次の投稿 (返信) は白、というように交互に繰り返されます。

最初の投稿を白にして、それ以降のすべての投稿を灰色にしたい。

これは、投稿行テーブルを生成するために使用するコードのスニペットです。

関数 create_post_row($post_number, $elements)

// 投稿行の HTML コードを生成します

{ $this->print_mode ? $post_template = "post_row_print" : $post_template = "post_row" . ($post_number % 2 + 1); $this->post_rows .= insert_values($post_template, $elements); }

望ましい結果が得られるように変更できる別の方程式があるかどうかはわかりませんが、思いつきません。

だから私は最初の投稿をそれ自身の行に分離する必要があると考えています。

しかし、私はそれを行う方法がわかりません。上記のコードに「最初に投稿する場合はこれを印刷し、そうでない場合はそれを印刷する」を追加できませんか?

これが漠然としすぎている場合は申し訳ありませんが、コードを見なくてもわかります。

編集: css アプローチではうまくいかないようです。新しい投稿が入力されるたびに、子クラスの新しいインスタンスが発行されるため、カウントする必要はありません。スレッド全体をクラス内にラップしようとすると、スレッド内の他のすべてのビットと区別して子をカウントできません。

そのため、スレッドの最初の投稿を別のテーブル行に出力するには、if/then ステートメントなどを使用する必要があると考えています。

どんな助けでも大歓迎です。

4

1 に答える 1