0

私はこのコードを持っています、

#if ($browserSniffer.isIe($request) && $browserSniffer.getMajorVersion($request) < 8)

Liferay のページ レイアウトで、ブラウザー IE 7 にテーブル ベースのレイアウトを使用するように指示しましたが、次の警告が表示されます。

Invalid character used in text string ( #if($browserSniffer.isIe($request) && $browserSniffer.getMajorVersion($request) < 8) ).

問題は AND (&&) パラメータのようですが、問題はありません。だから、誰かが私に何が問題なのか教えてくれたらありがたいです。

前もってありがとう、アディア。


更新: レイアウト ファイル

<div class="default-page-template" id="main-content" role="main">
   #if ($browserSniffer.isIe($request) && $browserSniffer.getMajorVersion($request) < 8)
    <table class="portlet-layout">
            <tr>
                <td class="portlet-column portlet-column-first" id="column-1">
                    $processor.processColumn("column-1", "portlet-column-content portlet-column-content-first")
                </td>
                <td class="portlet-column portlet-column-last" id="column-2">
                    $processor.processColumn("column-2", "portlet-column-content portlet-column-content-last")
                </td>
            </tr>
        </table>

        <table>
            <tr>
                <td class="portlet-column portlet-column-first" id="column-3">
                    $processor.processColumn("column-3", "portlet-column-content portlet-column-content-first")
                </td>
            </tr>
        </table>

        <table class="portlet-layout">
            <tr>
                <td class="portlet-column portlet-column-first" id="column-4">
                    $processor.processColumn("column-4", "portlet-column-content portlet-column-content-first")
                </td>
                <td class="portlet-column" id="column-5">
                    $processor.processColumn("column-5", "portlet-column-content portlet-column-content-last")
                </td>
                <td class="portlet-column portlet-column-last" id="column-6">
                    $processor.processColumn("column-6", "portlet-column-content portlet-column-content-last")
                </td>
            </tr>
        </table>

        <table class="portlet-layout">
            <tr>
                <td class="portlet-column portlet-column-last" id="column-7">
                    $processor.processColumn("column-7", "portlet-column-content portlet-column-content-last")
                </td>
            </tr>
        </table> 
    #else
        <div class="portlet-layout">
            <div class="portlet-column portlet-column-first" id="column-1">
                $processor.processColumn("column-1", "portlet-column-content portlet-column-content-first")
            </div>

            <div class="portlet-column portlet-column-last" id="column-2">
                $processor.processColumn("column-2", "portlet-column-content portlet-column-content-last")
            </div>
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-first" id="column-3">  
                $processor.processColumn("column-3", "portlet-column-content portlet-column-content-first")
            </div>
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-first" id="column-4">
               $processor.processColumn("column-4", "portlet-column-content portlet-column-content-first")
            </div>

            <div class="portlet-column" id="column-5">
                $processor.processColumn("column-5", "portlet-column-content portlet-column-content-last")
            </div>

            <div class="portlet-column portlet-column-last" id="column-6">
            $processor.processColumn("column-6", "portlet-column-content portlet-column-content-last")
            </div>          
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-first" id="column-7">
                $processor.processColumn("column-7", "portlet-column-content portlet-column-content-first")
            </div>
        </div>

    #end
</div>
4

1 に答える 1

0

&& 問題が実際に問題である場合は、簡単に判断して回避できますが、速度が論理演算子を処理する方法になります。

#if ($browserSniffer.isIe($request))
  #if($browserSniffer.getMajorVersion($request) < 8)
     ... (your stuff here)
  #end
#end

そうでない場合は、ステートメントの半分だけで新しいエラー メッセージが表示され、そこからデバッグを続行できます。

これはどのようなファイルにありますか?レイアウト テンプレート? テーマ?

于 2012-08-15T12:25:44.533 に答える