2

我正在尝试在其中添加用于再营销标签的 Google 代码

目录/视图/主题/*/template/common/footer.tpl
用于 Opencart 项目。

我创建了这个 vQmod

<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <id>Add Google Code for Remarketing Tag in footer</id>
    <version>1.0</version>
    <vqmver required="true">2.4.0</vqmver>
    <author>nbran@kanenas.net</author>
    <file name="catalog/view/theme/*/template/common/footer.tpl">
        <operation>
            <search position="before" offset="0">
                <![CDATA[</body>]]>
            </search>
            <add><![CDATA[
                    <script type="text/javascript">
                    var google_conversion_id = XXXXXXXXX;
                    var google_custom_params = window.google_tag_params;
                    var google_remarketing_only = true;
                    </script>
                    <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
                    </script>
                    <noscript>
                    <div style="display:inline;">
                    <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/XXXXXXXXX/?value=0&amp;guid=ON&amp;script=0"/>
                    </div>
                    </noscript>
                ]]></add>
        </operation>
    </file>
</modification>

可以解决一个小问题。Tag Assisant(由 Google 提供)正在抱怨(作为一个小问题)“缺少 CDATA 评论”,这意味着

<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = XXXXXXXXX;
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;
/* ]]> */
</script>

其中已经包含 CDATA。

有没有办法在 vQmod 中的 CDATA 中“转义”CDATA?

谢谢!


我将其发布为一种解决方法,但我几天内不会接受它,以防有人不得不提出建议。

<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <id>Add Google code for remarketing tag in footer</id>
    <version>1.0</version>
    <vqmver required="true">2.4.0</vqmver>
    <author>nbran@kanenas.net</author>
    <file name="catalog/view/theme/*/template/common/footer.tpl">
        <operation>
            <search position="before" offset="0">
                <![CDATA[</body>]]>
            </search>
            <add><![CDATA[
                    <script type="text/javascript">
                        /* ]]><![CDATA[ */
                        var google_conversion_id = XXXXXXXXX;
                        var google_custom_params = window.google_tag_params;
                        var google_remarketing_only = true;
                        /* ]]><![CDATA[ */
                    </script>
                    <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>
                    <noscript>
                        <div style="display:inline;">
                            <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/XXXXXXXXX/?value=0&amp;guid=ON&amp;script=0"/>
                        </div>
                    </noscript>
                ]]></add>
        </operation>
    </file>
</modification>
4

3 回答 3

3

我将其发布为一种解决方法,但我几天内不会接受它,以防有人不得不提出建议。

<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <id>Add Google code for remarketing tag in footer</id>
    <version>1.0</version>
    <vqmver required="true">2.4.0</vqmver>
    <author>nbran@kanenas.net</author>
    <file name="catalog/view/theme/*/template/common/footer.tpl">
        <operation>
            <search position="before" offset="0">
                <![CDATA[</body>]]>
            </search>
            <add><![CDATA[
                    <script type="text/javascript">
                        /* ]]><![CDATA[ */
                        var google_conversion_id = XXXXXXXXX;
                        var google_custom_params = window.google_tag_params;
                        var google_remarketing_only = true;
                        /* ]]><![CDATA[ */
                    </script>
                    <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>
                    <noscript>
                        <div style="display:inline;">
                            <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/XXXXXXXXX/?value=0&amp;guid=ON&amp;script=0"/>
                        </div>
                    </noscript>
                ]]></add>
        </operation>
    </file>
</modification>
于 2015-04-06T12:55:29.087 回答
0

正如@Alexandre Reis Ribeiro 所建议的那样,您还可以使用 PHP 将它们组合在一起<![CDATA[成字符串。提示:<![CDATA[经常使用的大型提要或脚本数组中,一个干净/理智的方法是首先使它们成为变量。否则,您最终可能会遇到一团糟的调试。

简单的例子:

$c_s = '<![' . 'CDATA['; // defines start of CDATA
$c_e = ']' . ']>'; // defines end of CDATA

// example XML output may need some CDATA, so use $c_s and $c_e:

$output .= "\t" . '<title type="html">' . $c_s  . $title .  $c_e . '</title>' . "\r\n";
$output .= "\t" . '<subtitle type="html">' . $c_s  . $description .  $c_e . '</subtitle>' . "\r\n";

// continue your output/indicies using as much CDATA's as required!
于 2015-07-06T18:41:04.603 回答
0

我做了一个小技巧。不知道这是否正确,但它对我有用:) 这是我的代码。

/* ]]<?php echo '>'?> */
于 2016-06-27T08:43:19.940 回答