我需要在每个页面的产品中显示标签:

- category
- search results
- related products
- featured
- special
- latest
- bestsellers
- main picture on product page

我有以下代码,仅在产品视图中显示:

有人能帮我吗?

<?xml version="1.0" encoding="utf-8"?>
        <modification>
            <name>Percentage of special price Simple by TobikSoft.com</name>
            <code>percentage-of-special-price</code>
            <version>1.1</version>


            <file path="catalog/model/catalog/product.php">
                <operation error="abort" info="">
                    <search><![CDATA[
        class ModelCatalogProduct extends Model {
                    ]]></search>
                    <add position="after"><![CDATA[
            public function getPercentage($product_id) {
                $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
                if ($query->num_rows && $query->row['special']) {
                    return $percentage = round(($query->row['price'] - $query->row['special']) / $query->row['price'] * 100);
                } else {
                    return false;
                }
            }
                    ]]></add>
                </operation>
            </file>

            <file path="admin/controller/setting/setting.php">
                <operation info="add variables" error="abort" >
                    <search><![CDATA[
                        $data['tab_server'] = $this->language->get('tab_server');
                    ]]></search>
                    <add position="after"><![CDATA[

                        if (isset($this->request->post['config_percentage_status'])) {
                            $data['config_percentage_status'] = $this->request->post['config_percentage_status'];
                        } else {
                            $data['config_percentage_status'] = $this->config->get('config_percentage_status');         
                        }

                    ]]></add>
                </operation>
            </file>

            <file path="admin/view/template/setting/setting.tpl">
                <operation error="abort" info="backend">
                    <search><![CDATA[
            <input type="hidden" name="config_icon" value="<?php echo $config_icon; ?>" id="input-icon" />
                    ]]></search>
                    <add position="replace" offset="2" ><![CDATA[
                        </div>
                      </div>
                      <div class="form-group">
                        <label class="col-sm-2 control-label" for="input-config_percentage_status">Labels % of special price <br><br>More features are available in the <a href="https://tobiksoft.com/percentage-of-special-price">Full version</a></label>
                        <div class="col-sm-10">
                            <select name="config_percentage_status" id="input-config_percentage_status" class="form-control">
                              <?php if ($config_percentage_status == '0') { ?>
                              <option value="0" selected="selected"><?php echo "OFF"; ?></option>
                              <?php } else { ?>
                              <option value="0"><?php echo "OFF"; ?></option>
                              <?php } ?>
                              <?php if ($config_percentage_status == '1') { ?>
                              <option value="1" selected="selected"><?php echo "ON"; ?></option>
                              <?php } else { ?>
                              <option value="1"><?php echo "ON"; ?></option>
                              <?php } ?>
                            </select><br>
                        <label class="col-sm-2 control-label" for="input-config_percentage_align_x"><span data-toggle="tooltip" title="This setting is available in the Full Version">Align horizontal</span></label>
                        <div class="col-sm-2">
                            <?php !empty($config_percentage_align_x) ?  : $config_percentage_align_x = 'right' ; ?>
                            <span data-toggle="tooltip" title="This setting is available in the Full Version"><select name="config_percentage_align_x" id="input-config_percentage_align_x" class="form-control" disabled>
                              <option value="right" <?php if ($config_percentage_align_x == 'right' ) echo 'selected' ; ?>>Right</option>
                              <option value="left" <?php if ($config_percentage_align_x == 'left' ) echo 'selected' ; ?>>Left</option>
                            </select></span><br>
                        </div>
                        <label class="col-sm-2 control-label" for="input-config_percentage_background"><span data-toggle="tooltip" title="This setting is available in the Full Version">Label color</span></label>
                        <div class="col-sm-2">
                          <span data-toggle="tooltip" title="This setting is available in the Full Version"><input type="color" name="config_percentage_background" value="<?php echo !empty($config_percentage_background) ? $config_percentage_background : '#0000FF'; ?>" placeholder="config_percentage_background" id="input-config_percentage_background" class="form-control" disabled /></span><br>
                        </div>
                        <label class="col-sm-2 control-label" for="input-config_percentage_color"><span data-toggle="tooltip" title="This setting is available in the Full Version">Text color</span></label>
                        <div class="col-sm-2">
                          <span data-toggle="tooltip" title="This setting is available in the Full Version"><input type="color" name="config_percentage_color" value="<?php echo !empty($config_percentage_color) ? $config_percentage_color : '#FFFFFF'; ?>" placeholder="config_percentage_color" id="input-config_percentage_color" class="form-control" disabled /></span><br>
                        </div>
                      </div>
                    </div>
                    ]]></add>
                </operation>
            </file>

            <file path="catalog/controller/product/product.php">
                <operation error="abort" info="">
                    <search><![CDATA[
                    $data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
                    ]]></search>
                    <add position="after"><![CDATA[
                    $data['percentage'] = $this->model_catalog_product->getPercentage($product_id);
                ]]></add>
                </operation>
                <operation error="abort" info="">
                    <search><![CDATA[
                    $product_info = $this->model_catalog_product->getProduct($product_id);
                    ]]></search>
                    <add position="after"><![CDATA[
                    $data['config_percentage_status'] = $this->config->get('config_percentage_status');
                    $data['config_percentage_align_x'] = 'right';
                    $data['config_percentage_background'] = '#0000FF';
                    $data['config_percentage_color'] = '#FFFFFF';
                ]]></add>
                </operation>
            </file>

            <file path="catalog/view/theme/*/template/product/product.tpl">
                <operation error="skip" info="">
                    <search><![CDATA[
                    <a class="thumbnail" href="<?php echo $popup; ?>"
                    ]]></search>
                    <add position="after"><![CDATA[
                    <?php if ($config_percentage_status == 1) {
                            if (isset($percentage)) {
                                if ($percentage > 0 && $percentage < 100 ) { ?>
                                    <span style='position: absolute; top: 5px; <?php echo !empty($config_percentage_align_x) ? $config_percentage_align_x : 'right'; ?>: 20px; background: <?php echo !empty($config_percentage_background) ? $config_percentage_background : '#EA2E49'; ?>; color: <?php echo !empty($config_percentage_color) ? $config_percentage_color : '#FFFFFF'; ?>; padding: 5px 5px 5px 5px;'><b><?php echo '-' . $percentage . '%'; ?></b></span>
                    <?php }}} ?>
                ]]></add>
                </operation>
            </file>

        </modification>