{exp:channel:form}でグリッドテーブルヘッダーを変換できる方法はありますか?

{exp:channel:form}のグリッドテーブル内でデータを変換する方法はありますか?

私は翻訳される表の見出しを変更したい。

また、ボタンを変更して、新しい行を翻訳可能な単語(「行の追加」など)に追加する必要があります。

これはGridで可能ですか?あるいは、私たちはチャンネルに入力したものにこだわっていますか?

EDIT:

私の質問はチャンネルフォームタグ内の公開フォームにのみ適用されます。私は、EEコントロールパネルで動作するソリューションを探しているわけではありません。

1

2 答え

序文:これは単なるアイデアです。

Brian Litzingerの出版社( http://devot-ee.com/add-ons/publisher )を exp:channel:form に追加してください。

ヘッダーとボタンを変更するには、グリッドをチャンネルフォームに追加するには、レンダリングされたコードをつかんでテンプレートに直接貼り付けます(フィールドにHTMLを生成させるのではなく)。その後、Publisherの言語タグを使用してヘッダーとボタン。

たとえば、チャンネルフォームを作成してグリッドを表示するように指示することがあります。私はそれが生成することがわかりますコードを見て...

<table id="testing" class="grid_field_container" cellspacing="0" cellpadding="0">
<tr>
    <td class="grid_field_container_cell">
        <table class="grid_field" cellspacing="0" cellpadding="0">
            <thead>
                <th class="grid_handle"> </th>
                <th width="0%">Column 1</th>
                <th width="0%">Column 2</th>
            </thead>
            <tbody class="grid_row_container">
                <tr class="grid_row blank_row">
                    <td class="grid_handle"> </td>
                    <td width="0%" data-fieldtype="text" data-column-id="1">
                        <div class="grid_cell">
                            <input type="text" name="testing[rows][new_row_0][col_id_1]" value="" dir="ltr" field_content_type="all" maxlength="256"  />
                        </div>
                    </td>
                    <td width="0%" data-fieldtype="text" data-column-id="2">
                        <div class="grid_cell">
                            Delete Row
                            <input type="text" name="testing[rows][new_row_0][col_id_2]" value="" dir="ltr" field_content_type="all" maxlength="256"  />
                        </div>
                    </td>
                </tr>
                <tr class="empty_field">
                    <td colspan="3" class="empty_field first">You have not added any rows of data yet. Add some data?</td>
                </tr>
            </tbody>
        </table>
    </td>
    <td class="grid_delete_row_gutter"> </td>
</tr>
<tr>
    <td>
        Add Row
    </td>
</tr>

Well you could now change that to use Publisher "Phrases" (https://boldminded.com/add-ons/publisher/phrases)

<table id="testing" class="grid_field_container" cellspacing="0" cellpadding="0">
<tr>
    <td class="grid_field_container_cell">
        <table class="grid_field" cellspacing="0" cellpadding="0">
            <thead>
                <th class="grid_handle"> </th>
                <th width="0%">{phrase:form_col1}</th>
                <th width="0%">{phrase:form_col1}</th>
            </thead>
            <tbody class="grid_row_container">
                <tr class="grid_row blank_row">
                    <td class="grid_handle"> </td>
                    <td width="0%" data-fieldtype="text" data-column-id="1">
                        <div class="grid_cell">
                            <input type="text" name="testing[rows][new_row_0][col_id_1]" value="" dir="ltr" field_content_type="all" maxlength="256"  />
                        </div>
                    </td>
                    <td width="0%" data-fieldtype="text" data-column-id="2">
                        <div class="grid_cell">
                            {phrase:form_delete}
                            <input type="text" name="testing[rows][new_row_0][col_id_2]" value="" dir="ltr" field_content_type="all" maxlength="256"  />
                        </div>
                    </td>
                </tr>
                <tr class="empty_field">
                    <td colspan="3" class="empty_field first">{phrase:form_no-rows} {phrase:form_add-data}</td>
                </tr>
            </tbody>
        </table>
    </td>
    <td class="grid_delete_row_gutter"> </td>
</tr>
<tr>
    <td>
        {phrase:form_add-row}
    </td>
</tr>

You would then just set those phrases in your Publisher's control panel and it should do the job.

Bare in mind: this is a bit of a hacky solution, and if Grid's markup changes you'll have to rinse and repeat.

1
追加された
翻訳アドオンは何ですか?
追加された 著者 Chris Marasti-Georg,
{exp:yourplugin:string phrase = "add_field"}という簡単なプラグインを書いて、翻訳辞書を見て文字列を返し、上記の私の考えとミックスしてください - プラグインで{phrase:}を交換してください。
追加された 著者 Chris Marasti-Georg,
チャネルフォームで{field:grid-name}を追加します。ソースコードを見て、生成したものをコピーしてテンプレートにコピーします。
追加された 著者 Chris Marasti-Georg,
D'oh!その場合、デフォルトの文字列から翻訳プラグインによって設定された文字列にJavaScript文字列を置き換えることはできますか?申し訳ありませんが、これは上にドラッグされていますが、私たちは解決策を見つけるでしょう:D
追加された 著者 Chris Marasti-Georg,
私はすでに翻訳を追加すると思います。問題は、コアファイルをハックしない限り、翻訳するコードを置くことがどこにもないことです。私はそれらのいくつかを使用できるかどうかを見るためにフックを調べましたが、私はtalbeヘッダーを変更するのに役立つものは何も表示されません。
追加された 著者 Brian Lyttle,
私は、EEの基礎となるCI言語サポート( ee() - > lang-> line )を使用してアドオンを作成しました。私はタグとして、あるいは拡張の中の関数として使うことができます。問題は、グリッドのパブリッシュフォームで文字列を変更できる拡張機能が表示されないことです。
追加された 著者 Brian Lyttle,
確かに。しかし私が知らないのは、テンプレートをつかんでヘッダーとフッターを変更する方法です。私はあなたの答えにそれが表示されて表示されません。
追加された 著者 Brian Lyttle,
tbody.grid_row_container の内容は動的なので、あなたはそれを行うことはできません。エントリに基づいてさまざまな数の tr コンテンツが存在します。
追加された 著者 Brian Lyttle,

それは2014年の問題だと分かっています。これを見ている人が将来的に役立つように、「低置換」を使用できます。例:

{exp:low_replace find="You have not added any rows of data yet|Add some data" replace="No agregaste informacion|Agregar" multiple="yes"}
{field:estudios_en_curso_y_terminados}
{/exp:low_replace}
0
追加された