Jump to content


Photo
- - - - -

idea for news + rss


11 replies to this topic

#1 Ivan Pramono Susanto

Ivan Pramono Susanto

    Advanced Member

  • Members
  • PipPipPip
  • 141 posts

Posted 07 November 2013 - 03:42 PM

since rss feed code i got from Max works like a charm

i just got an idea

if there's a similar mod that publish latest news into rss so we can use it to auto post and tweet


  • 0

#2 MaxD

MaxD

    Administrator

  • Administrators
  • 745 posts

Posted 09 November 2013 - 03:55 PM

Maybe there is some modification of fido-x news that does this. But I havn't met one


  • 0

#3 Ivan Pramono Susanto

Ivan Pramono Susanto

    Advanced Member

  • Members
  • PipPipPip
  • 141 posts

Posted 09 November 2013 - 07:19 PM

http://www.opencart....ilter_license=0

 

still learn how this mod make the rss feed.

i wonder if i can make a feed for news based from this mod

if we can make feed for news that would be great

the rss feed for news can be used for auto post and tweet at facebook with http://twitterfeed.com or similar services :D

gotta find which code does the grabbing data from database and code to make feeds and apply it to news

sounds simple but hard to be done by a dummy like me

lol

this first code is surely how to make the subscribe button

i edit it a little to change the icon

<!--
  Copyright (C) 2012 Tri Le <trile7 at gmail dot com>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>
-->

<modification>
  <id>latest, featured, and special products rss feed</id>
  <version>0.2</version>
  <vqmver>2.1.7</vqmver>
  <author>Tri Le trile7 at gmail dot com</author>

  <file name="catalog/view/theme/*/template/module/featured.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=featured' title='Subscribe to Featured Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/latest.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=latest' title='Subscribe to Latest Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/special.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=special' title='Subscribe to Special Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/bestseller.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=bestseller' title='Subscribe to Bestseller Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

the rest of this one is still mystery XD

how to call the data for news based on this code

  <file name="catalog/controller/common/header.php">
    <operation>
      <search position="after">protected function index</search>
      <add><![CDATA[
        $rss = isset($this->request->get["rss"]) ? $this->request->get["rss"] : "";
        if ($rss=="latest" || $rss=="featured" || $rss=="special" || $rss=="bestseller") {
          $this->load->model("catalog/product");
          $this->load->model("localisation/currency");
          $this->load->model("tool/image");
          $this->data["products"] = array();

          $limit = 20;
          $image_width = 100;
          $image_height = 100;
          $currency = $this->currency->getCode();

          if ($rss=="latest") {
            $data = array("sort"  => "p.date_modified", "order" => "DESC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getProducts($data);
          }
          elseif ($rss=="featured") {
            $featured_products = explode(",", $this->config->get("featured_product"));
            $featured_products = array_slice($featured_products, 0, $limit);
            foreach ($featured_products as $product_id) $products[] = $this->model_catalog_product->getProduct($product_id);
          }
          elseif ($rss=="special") {
            $data = array("sort"  => "pd.name", "order" => "ASC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getProductSpecials($data);
          }
          elseif ($rss=="bestseller") {
            $data = array("sort"  => "pd.name", "order" => "ASC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getBestSellerProducts($limit);
          }

          $output = "<?xml version='1.0' encoding='UTF-8' ?>";
          $output .= "<rss version='2.0'>";
          $output .= "<channel>";
          $output .= "<title><![CDATA[" . $this->config->get("config_name") . " - $rss products]]]]><![CDATA[></title>";
          $output .= "<description><![CDATA[" . $this->config->get("config_meta_description") . "]]]]><![CDATA[></description>";
          $output .= "<link><![CDATA[" . HTTP_SERVER . "]]]]><![CDATA[></link>";
          foreach ($products as $product) {
            $title = $product["name"];
            $link = HTTP_SERVER . "?route=product/product&product_id=$product[product_id]";
            $price = $this->config->get("config_customer_price") ? false : $this->currency->format($this->tax->calculate($product["price"], $product["tax_class_id"], $this->config->get("config_tax")));
            $special = ((float)$product["special"]) ? $this->currency->format($this->tax->calculate($product["special"], $product["tax_class_id"], $this->config->get("config_tax"))) : false;
            $image_url = $this->model_tool_image->resize($product["image"], $image_width, $image_height);
            $description = "";
            if ($price) $description .= ($special) ? "<p><strong><span style='color:red; text-decoration:line-through;'>$price</span> $special</strong></p>" : "<p><strong>$price</strong></p>";
            if ($image_url) $description .= "<p><a href='$link'><img src='$image_url' alt=''></a></p>";
            if ($product["description"]) $description .= html_entity_decode($product["description"]);

            if ($rss!="special" || $special) {
              $output .= "<item>";
              $output .= "<title><![CDATA[$title]]]]><![CDATA[></title>";
              $output .= "<link><![CDATA[$link]]]]><![CDATA[></link>";
              $output .= "<description><![CDATA[$description]]]]><![CDATA[></description>";
              $output .= "<guid><![CDATA[$link]]]]><![CDATA[></guid>";
              $output .= "<pubDate>" . date("D, d M Y H:i:s O", strtotime($product["date_added"])) . "</pubDate>";
              $output .= "</item>";
            }
          }
          $output .= "</channel>";
          $output .= "</rss>";

          header("Content-Type: application/rss+xml");
          echo "$output";
          die();
        }
      ]]></add>
    </operation>
  </file>

</modification>

this one is surely the format of the feed if i'm not mistaken

              $output .= "<item>";
              $output .= "<title><![CDATA[$title]]]]><![CDATA[></title>";
              $output .= "<link><![CDATA[$link]]]]><![CDATA[></link>";
              $output .= "<description><![CDATA[$description]]]]><![CDATA[></description>";
              $output .= "<guid><![CDATA[$link]]]]><![CDATA[></guid>";
              $output .= "<pubDate>" . date("D, d M Y H:i:s O", strtotime($product["date_added"])) . "</pubDate>";
              $output .= "</item>";

the last one is the one that shout the feed

          header("Content-Type: application/rss+xml");
          echo "$output";
          die();
        }
      ]]></add>
    </operation>
  </file>

</modification>

still confused with

$this->load->

$this->data

and everything with $this does

 

difference of

$output =

and
$output .=

 

$xyz = is surely declaring something that's called xyz which will be used next

 

whoah so many of them still confusing

maybe i can become "confucius"ed

lol

 

wish me luck XD


  • 0

#4 Ivan Pramono Susanto

Ivan Pramono Susanto

    Advanced Member

  • Members
  • PipPipPip
  • 141 posts

Posted 13 November 2013 - 12:22 AM

yay since i'm not done with this and still strugling i found a nice module

pavblog is nice since it has rss feed in it when i try it's demo

and it's freeeeeeeeee

yay

thanks to pavblog

just download it and wanna try it

hope it works well

 

update:

ouch still buggy :(


Edited by Ivan Pramono Susanto, 13 November 2013 - 01:54 AM.

  • 0

#5 MaxD

MaxD

    Administrator

  • Administrators
  • 745 posts

Posted 13 November 2013 - 01:03 PM

Let me know when pavblog will become a nice replacement for OpenShop news module.

 

All $this-> ... things are simple refs to "global" objects (like request, session and so on). I don't know why Daniel decided to stuff them into controller object.

 

$a += 3; is equal to $a = $a + 3; 

$a .= "x"; is equal to $a = $a . "x";

 

Dot (.) is strings concantenation operand at PHP. "a" . "b" = "ab"


  • 1

#6 Ivan Pramono Susanto

Ivan Pramono Susanto

    Advanced Member

  • Members
  • PipPipPip
  • 141 posts

Posted 13 November 2013 - 01:30 PM

thanks for the tutorial

 

got a pavblog modified to russian and it works but i cannot read them >.<

i can create category with it but i haven't test it further since translation problem >.<

i think i got it from https://github.com/1...e-pav-blog-news and http://opencartforum...остей-pav-blog/

 

lots of free nice thing in http://opencartforum.ru

but not everything compatible >.< such as easy checkout it's great but i cannot make it work

then again it's language barrier >.< i cannot ask them >.<


Edited by Ivan Pramono Susanto, 13 November 2013 - 01:34 PM.

  • 0

#7 Ivan Pramono Susanto

Ivan Pramono Susanto

    Advanced Member

  • Members
  • PipPipPip
  • 141 posts

Posted 14 November 2013 - 06:07 AM

modification of rss still stuck on how to get news data >.<
button prepared

some still unknown because don't know how to get news data

function prepared but still some are mark unknown

XD

<!--
  Copyright (C) 2012 Tri Le <trile7 at gmail dot com>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>
-->

<modification>
  <id>latest, featured, and special products rss feed</id>
  <version>0.2</version>
  <vqmver>2.1.7</vqmver>
  <author>Tri Le trile7 at gmail dot com</author>

  <file name="catalog/view/theme/*/template/module/featured.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=featured' title='Subscribe to Featured Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/latest.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=latest' title='Subscribe to Latest Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/news.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $customtitle; ?>]]></search>
      <add><![CDATA[<?php echo "$customtitle <a href='".HTTP_SERVER."?rss=news' title='Subscribe to News'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>
  
  <file name="catalog/view/theme/*/template/module/special.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=special' title='Subscribe to Special Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/bestseller.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=bestseller' title='Subscribe to Bestseller Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/controller/common/header.php">
    <operation>
      <search position="after">protected function index</search>
      <add><![CDATA[
        $rss = isset($this->request->get["rss"]) ? $this->request->get["rss"] : "";
        if ($rss=="latest" || $rss=="featured" || $rss=="special" || $rss=="bestseller" || $rss=="news") {
          $this->load->model("catalog/product");
          $this->load->model("localisation/currency");
          $this->load->model("tool/image");
          $this->data["products"] = array();

          $limit = 20;
          $image_width = 100;
          $image_height = 100;
          $currency = $this->currency->getCode();

          if ($rss=="latest") {
            $data = array("sort"  => "p.date_modified", "order" => "DESC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getProducts($data);
          }
          elseif ($rss=="featured") {
            $featured_products = explode(",", $this->config->get("featured_product"));
            $featured_products = array_slice($featured_products, 0, $limit);
            foreach ($featured_products as $product_id) $products[] = $this->model_catalog_product->getProduct($product_id);
          }
          elseif ($rss=="special") {
            $data = array("sort"  => "pd.name", "order" => "ASC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getProductSpecials($data);
          }
          elseif ($rss=="bestseller") {
            $data = array("sort"  => "pd.name", "order" => "ASC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getBestSellerProducts($limit);
          }
		  elseif ($rss=="news") {
		    $data = array("sort" => "date_added", "order" => "DESC", "start" => 0, "limit" => $limit);
			$news = $this->unknown;
		  }

          $output = "<?xml version='1.0' encoding='UTF-8' ?>";
          $output .= "<rss version='2.0'>";
          $output .= "<channel>";
          $output .= "<title><![CDATA[" . $this->config->get("config_name") . " - $rss update]]]]><![CDATA[></title>";
          $output .= "<description><![CDATA[" . $this->config->get("config_meta_description") . "]]]]><![CDATA[></description>";
          $output .= "<link><![CDATA[" . HTTP_SERVER . "]]]]><![CDATA[></link>";
		  if ($rss=="latest" || $rss=="featured" || $rss=="special" || $rss=="bestseller") {
		  foreach ($products as $product) {
            $title = $product["name"];
            $link = HTTP_SERVER . "?route=product/product&product_id=$product[product_id]";
            $price = $this->config->get("config_customer_price") ? false : $this->currency->format($this->tax->calculate($product["price"], $product["tax_class_id"], $this->config->get("config_tax")));
            $special = ((float)$product["special"]) ? $this->currency->format($this->tax->calculate($product["special"], $product["tax_class_id"], $this->config->get("config_tax"))) : false;
            $image_url = $this->model_tool_image->resize($product["image"], $image_width, $image_height);
            $description = "";
            if ($price) $description .= ($special) ? "<p><strong><span style='color:red; text-decoration:line-through;'>$price</span> $special</strong></p>" : "<p><strong>$price</strong></p>";
            if ($image_url) $description .= "<p><a href='$link'><img src='$image_url' alt=''></a></p>";
            if ($product["description"]) $description .= html_entity_decode($product["description"]);

            if ($rss!="special" || $special) {
              $output .= "<item>";
              $output .= "<title><![CDATA[$title]]]]><![CDATA[></title>";
              $output .= "<link><![CDATA[$link]]]]><![CDATA[></link>";
              $output .= "<description><![CDATA[$description]]]]><![CDATA[></description>";
              $output .= "<guid><![CDATA[$link]]]]><![CDATA[></guid>";
              $output .= "<pubDate>" . date("D, d M Y H:i:s O", strtotime($product["date_modified"])) . "</pubDate>";
              $output .= "</item>";
            }
          }
          $output .= "</channel>";
          $output .= "</rss>";

          header("Content-Type: application/rss+xml");
          echo "$output";
          die();
        }
		else if ($rss=="news") { 
		foreach ($news as $news) {
		  $show_headline = unknown;
		  $newslink = HTTP_SERVER . "?route=information/news&news_id=$news[news_id]";;
		  $news_story = unknown;
		      $output .= "<item>";
              $output .= "<title><![CDATA[$show_headline]]]]><![CDATA[></title>";
              $output .= "<link><![CDATA[$newslink]]]]><![CDATA[></link>";
              $output .= "<description><![CDATA[$news_story]]]]><![CDATA[></description>";
              $output .= "<guid><![CDATA[$newslink]]]]><![CDATA[></guid>";
              $output .= "<pubDate>" . date("D, d M Y H:i:s O", strtotime($news["date_added"])) . "</pubDate>";
              $output .= "</item>";
		}
		$output .= "</channel>";
        $output .= "</rss>";

        header("Content-Type: application/rss+xml");
        echo "$output";
        die();
		}
		}
      ]]></add>
    </operation>
  </file>

</modification> 

tested without error so far >.<

but the most importand and difficult things still missing and remain "unknown"

got to pray harder XD

if this mod is successful it will be a nice addition to openshop


Edited by Ivan Pramono Susanto, 14 November 2013 - 06:52 AM.

  • 0

#8 Ivan Pramono Susanto

Ivan Pramono Susanto

    Advanced Member

  • Members
  • PipPipPip
  • 141 posts

Posted 14 November 2013 - 07:39 AM

latest trial with news extension from http://www.opencart....ilter_license=0

this vqmod xml is working now thanks to GOD for gimmie a revelation and Max for gimmie some hint although i don't understand well $this function but at least it gimmie an idea XD

thank GOD thank GOD

praise the LORD

don't sell this vqmod please

feel free to modify but don't sell it please

because i'm poor and cannot afford premium script >.<

<!--
  Copyright (C) 2012 Tri Le <trile7 at gmail dot com>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>
-->

<modification>
  <id>latest, featured, and special products rss feed + news rss</id>
  <version>0.2a</version>
  <vqmver>2.1.7</vqmver>
  <author>Tri Le trile7 at gmail dot com + MaxD for mod date + bonboncat with GOD help</author>

  <file name="catalog/view/theme/*/template/module/featured.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=featured' title='Subscribe to Featured Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/latest.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=latest' title='Subscribe to Latest Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/news.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $customtitle; ?>]]></search>
      <add><![CDATA[<?php echo "$customtitle <a href='".HTTP_SERVER."?rss=news' title='Subscribe to News'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>
  
  <file name="catalog/view/theme/*/template/module/special.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=special' title='Subscribe to Special Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/module/bestseller.tpl">
    <operation>
      <search position="replace"><![CDATA[<?php echo $heading_title; ?>]]></search>
      <add><![CDATA[<?php echo "$heading_title <a href='".HTTP_SERVER."?rss=bestseller' title='Subscribe to Bestseller Products'><img src='/image/data/rss-icon.png' alt='Subscribe' /></a>"; ?>]]></add>
    </operation>
  </file>

  <file name="catalog/controller/common/header.php">
    <operation>
      <search position="after">protected function index</search>
      <add><![CDATA[
        $rss = isset($this->request->get["rss"]) ? $this->request->get["rss"] : "";
        if ($rss=="latest" || $rss=="featured" || $rss=="special" || $rss=="bestseller" || $rss=="news") {
          $this->load->model("catalog/product");
          $this->load->model("localisation/currency");
          $this->load->model("tool/image");
          $this->data["products"] = array();
 $this->load->model("catalog/news");
 $this->data["news"] = array ();

          $limit = 20;
          $image_width = 100;
          $image_height = 100;
          $currency = $this->currency->getCode();

          if ($rss=="latest") {
            $data = array("sort"  => "p.date_modified", "order" => "DESC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getProducts($data);
          }
          elseif ($rss=="featured") {
            $featured_products = explode(",", $this->config->get("featured_product"));
            $featured_products = array_slice($featured_products, 0, $limit);
            foreach ($featured_products as $product_id) $products[] = $this->model_catalog_product->getProduct($product_id);
          }
          elseif ($rss=="special") {
            $data = array("sort"  => "pd.name", "order" => "ASC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getProductSpecials($data);
          }
          elseif ($rss=="bestseller") {
            $data = array("sort"  => "pd.name", "order" => "ASC", "start" => 0, "limit" => $limit);
            $products = $this->model_catalog_product->getBestSellerProducts($limit);
          }
 elseif ($rss=="news") {
   $data = array("sort" => "date_added", "order" => "DESC", "start" => 0, "limit" => $limit);
$news = $this->model_catalog_news->getNews();
 }

          $output = "<?xml version='1.0' encoding='UTF-8' ?>";
          $output .= "<rss version='2.0'>";
          $output .= "<channel>";
          $output .= "<title><![CDATA[" . $this->config->get("config_name") . " - $rss update]]]]><![CDATA[></title>";
          $output .= "<description><![CDATA[" . $this->config->get("config_meta_description") . "]]]]><![CDATA[></description>";
          $output .= "<link><![CDATA[" . HTTP_SERVER . "]]]]><![CDATA[></link>";
 if ($rss=="latest" || $rss=="featured" || $rss=="special" || $rss=="bestseller") {
 foreach ($products as $product) {
            $title = $product["name"];
            $link = HTTP_SERVER . "?route=product/product&product_id=$product[product_id]";
            $price = $this->config->get("config_customer_price") ? false : $this->currency->format($this->tax->calculate($product["price"], $product["tax_class_id"], $this->config->get("config_tax")));
            $special = ((float)$product["special"]) ? $this->currency->format($this->tax->calculate($product["special"], $product["tax_class_id"], $this->config->get("config_tax"))) : false;
            $image_url = $this->model_tool_image->resize($product["image"], $image_width, $image_height);
            $description = "";
            if ($price) $description .= ($special) ? "<p><strong><span style='color:red; text-decoration:line-through;'>$price</span> $special</strong></p>" : "<p><strong>$price</strong></p>";
            if ($image_url) $description .= "<p><a href='$link'><img src='$image_url' alt=''></a></p>";
            if ($product["description"]) $description .= html_entity_decode($product["description"]);

            if ($rss!="special" || $special) {
              $output .= "<item>";
              $output .= "<title><![CDATA[$title]]]]><![CDATA[></title>";
              $output .= "<link><![CDATA[$link]]]]><![CDATA[></link>";
              $output .= "<description><![CDATA[$description]]]]><![CDATA[></description>";
              $output .= "<guid><![CDATA[$link]]]]><![CDATA[></guid>";
              $output .= "<pubDate>" . date("D, d M Y H:i:s O", strtotime($product["date_modified"])) . "</pubDate>";
              $output .= "</item>";
            }
          }
          $output .= "</channel>";
          $output .= "</rss>";

          header("Content-Type: application/rss+xml");
          echo "$output";
          die();
        }
else if ($rss=="news") { 
foreach ($news as $news) {
 $show_headline = $news["title"];
 $newslink = HTTP_SERVER . "?route=information/news&news_id=$news[news_id]";;
 $news_image = $this->model_tool_image->resize($news["image"], $image_width, $image_height);
 $news_story = html_entity_decode($news["description"]);
  if ($news_image) $news_story .= "<p><a href='$newslink'><img src='$news_image' alt=''></a></p>";
     $output .= "<item>";
              $output .= "<title><![CDATA[$show_headline]]]]><![CDATA[></title>";
              $output .= "<link><![CDATA[$newslink]]]]><![CDATA[></link>";
              $output .= "<description><![CDATA[$news_story]]]]><![CDATA[></description>";
              $output .= "<guid><![CDATA[$newslink]]]]><![CDATA[></guid>";
              $output .= "<pubDate>" . date("D, d M Y H:i:s O", strtotime($news["date_added"])) . "</pubDate>";
              $output .= "</item>";
}
$output .= "</channel>";
        $output .= "</rss>";

        header("Content-Type: application/rss+xml");
        echo "$output";
        die();
}
}
      ]]></add>
    </operation>
  </file>

</modification>

case close

news + rss buttons completed

don't need pav blog unless i need category for news/blow

this solution is better since i got rss button in front as well

 

*added bonus*

use this sitemap generator

http://www.opencart....=sitemap&page=2

edit admin/model/tool/generate_sitemap.php and seo_url.php to add news sitemap

and viola

the greatest news mod i have XD

thank you so much Max


Edited by Ivan Pramono Susanto, 15 November 2013 - 01:58 AM.

  • 0

#9 yangping55

yangping55

    Advanced Member

  • Members
  • PipPipPip
  • 93 posts

Posted 19 October 2017 - 03:47 AM

ugg boots   pandora charms sale   hermes outlet   canada goose jackets   ugg outlet online   canada goose outlet   coach outlet   ugg boots on sale   michael kors outlet   ugg boots   ugg outlet   nmd adidas   cheap mlb jerseys   nike outlet online   pandora outlet   jordan shoes   nike cortez   pandora charms   cheap jordan shoes   moncler jackets   canada goose outlet   ray ban sunglasses   canada goose coats   ugg boots   nmd adidas   ralph lauren outlet   ugg outlet   hermes handbags   superdry uk   ray ban sunglasses   coach outlet   uggs on sale   ray ban sunglasses   coach outlet store   michael kors outlet   valentino shoes   ugg sale   polo ralph lauren   canada goose   canada goose outlet   uggs on sale   ralph lauren outlet online   adidas outlet   adidas yeezy   north face outlet   nike shoes for men   coach outlet store online   ugg boots   ralph lauren uk   ugg australia   adidas shoes   air max 2017   coach handbags   michael kors outlet   burberry outlet store   oakley sunglasses   louis vuitton outlet   moncler outlet   ugg outlet   salvatore ferragamo   canada goose outlet   polo ralph lauren   longchamp handbags   adidas yeezy   coach outlet   ugg outlet   ralph lauren outlet   coach factory outlet   coach outlet   canada goose jackets   ralph lauren outlet online   ralph lauren uk   kate spade   coach outlet   moncler coats   burberry   pandora charms   oakley sunglasses   canada goose outlet   cheap uggs   tory burch outlet store   coach factory outlet   mulberry uk   cheap uggs   ugg uk   michael kors handbags   ugg outlet   kate spade bags   polo ralph lauren outlet   ugg outlet   michael kors factory outlet   adidas yeezy boost   hermes bags   mulberry outlet   coach outlet store   superdry   christian louboutin   ralph lauren uk   ugg boots   uggs canada   adidas nmd   ugg boots   yeezy boost   toms outlet   yeezy 350 boost   ralph lauren outlet   ugg outlet   michael kors outlet   air jordan shoes   canada goose clothing   coach outlet   ralph lauren outlet   coach factory outlet   ugg outlet store   cheap oakley sunglasses   michael kors outlet online   michael kors outlet   canada goose clothing   coach factory outlet   moncler jackets   birkenstock sandals   ugg outlet   fred perry polo   adidas shoes   cheap ray ban sunglasses   pandora jewelry   canada goose   cat boots   cheap ray ban sunglasses   pandora jewelry   coach factory outlet   pandora jewelry   ugg boots   yeezy boost 350   cheap jordans   coach bags   hermes handbags   coach outlet   michael kors outlet store   cheap jordans   james harden shoes   ralph lauren sale clearance   cheap jerseys from china   canada goose jackets   ugg outlet   pandora charms sale clearance   adidas superstar   pandora jewelry   air jordans   michael kors handbags   moncler   moncler jackets   moncler jackets   jordan retro 11   ugg boots   mlb jerseys cheap   coach outlet   cheap jerseys   canada goose coats   ugg boots   ugg ustralia   moncler outlet   coach factorty outlet   michael kors outlet clearance   michael kors handbags   nike store   canada goose jackets   canada goose outlet   moncler jackets   canada goose sale   michael kors outlet   cheap uggs   pandora jewelry   adidas nmd   polo ralph lauren   michael kors handbags   coach factory outlet   ralph lauren outlet   ferragamo outlet   pandora uk   harden vol 1   canadian goose   cheap mlb jerseys   burberry sale   mbt shoes   coach outlet   ray ban sunglasses   ugg boots canada   moncler outlet   coach canada   louis vuitton   oakley sunglasses   nike outlet   polo ralph lauren outlet   canada goose sale   louboutin shoes   polo ralph lauren outlet online   cheap ray bans   cheap jordans   yeezy boost   adidas outlet   michael kors outlet   cheap jordans   tory burch outlet   louis vuitton outlet store   north face outlet online   pandora outlet   canada goose jackets   adidas superstar   cheap uggs   ugg outlet   ugg outlet   coach factory outlet   nike shoes   michael kors canada   michael kors outlet clearance   ugg outlet store   coach outlet   ugg ustralia   coach factory outlet   ray ban sunglasses discount   cheap jordans for sale   toms shoes   nmd shoes   ugg boots   michael kors outlet   uggs clearance   louis vuitton outlet online   jordans   burberry outlet   cheap nfl jerseys   kate spade handbag   toms outlet   uggs   ralph lauren uk   polo ralph lauren outlet online   moncler outlet   yeezy boost   toms shoes outlet   columbia sportswear   canada goose outlet   coach outlet   nike outlet store   coach factorty outlet   jordan shoes   toms outlet   pandora charms sale   christian louboutin outlet   adidas yeezy boost   michael kors canada   pandora charms   adidas yeezy   timberland boots   canada goose   ugg sandals   canada goose sale   ugg boots on sale   rayban   coach factory outlet   oakley sunglasses   louis vuitton outlet   coach factory outlet   longchamp uk   canada goose outlet   canada goose coats   canada goose sale   ugg   ugg outlet store   tory burch outlet   adidas shoes   cheap uggs   longchamp uk   ralph lauren outlet   mulberry bags   coach outlet online   ralph lauren sale clearance   ray ban sunglasses   christian louboutin outlet   coach factory outlet   polo ralph lauren outlet online   kate spade outlet   adidas shoes   canada goose jackets   air jordan shoes   michael kors outlet   mbt shoes   uggs outlet   louis vuitton outlet store   christian louboutin   adidas outlet   jordan retro   ugg outlet   coach outlet   ralph lauren outlet   coach outlet   cheap jordans   polo ralph lauren   ugg boots for women   canada goose sale   nike air max   north face outlet   coach factory outlet   fred perry   christian louboutin   michael kors outlet   moncler   canada goose outlet   michael kors outlet store   burberry outlet canada   canada goose uk   coach outlet store   nike shoes   discount ray ban sunglasses   toms shoes   polo ralph lauren outlet online   cheap uggs   ray ban sunglasses discount   canada goose jackets   ugg boots   valentino shoes outlet   polo ralph lauren outlet online   pandora charms sale clearance   ugg outlet   louis vuitton outlet   discount oakley sunglasses   hermes birkin   fitflops sale   red bottoms   ultra boost   coach outlet   red bottom shoes   ugg boots   coach outlet   air jordans   salvatore ferragamo shoes   hermes handbags   coach outlet   hermens bags   uggs clearance   red bottoms shoes   cheap ray ban sunglasses   cheap jordans   nfl jerseys wholesale   burberry outlet   longchamp outlet   louboutin shoes   coach outlet store   birkenstock sandals   michael kors outlet   pandora outlet   michael kors outlet   coach outlet   cheap ray bans   ugg sandals   ferragamo shoes   canada goose   michael kors outlet clearance   polo outlet   pandora jewelry   canada goose jackets   coach factory outlet   michael kors outlet store   ugg australia   ugg slippers   canada goose jackets   air max 2018   ugg sale   canada goose   ugg outlet   nike huarache   coach outlet   christian louboutin outlet   burberry outlet   gucci outlet   louis vuitton outlet   polo outlet   nike shoes   coach outlet   canada goose jackets   cheap ugg boots   nike air max   longchamp handbags   pandora jewelry outlet   kate spade outlet   burberry outlet   coach outlet store online clearances   michael kors uk   ugg shoes   the north face   cheap ray ban sunglasses   ugg shoes   michael kors outlet   coach factory outlet   kate spade outlet store   mulberry handbags   ray ban sunglasses   canada goose outlet   polo ralph lauren outlet online   michael kors outlet online   cheap ugg boots   louboutin shoes   cheap jordans free shipping   ugg boots   ray ban sunglasses   moncler outlet   pandora   michael kors handbags   coach outlet store   birkenstocks   moncler uk   north face jackets   birkenstocks   coach outlet online   moncler jackets outlet   coach outlet   ugg outlet   burberry outlet   north face jackets   canada goose jackets   ugg boots   coach factory outlet online   canada goose outlet   moncler outlet   louis vuitton factory outlet   timberland outlet   adidas nmd   ralph lauren outlet   canada goose outlet   coach factory outlet   fitflops   christian louboutin outlet   longchamp bags   coach outlet   doudoune moncler   adidas yeezy   supreme clothing   pandora charms   coach factory outlet online   ugg boots outlet   uggs   louis vuitton outlet online   kate spade handbags   nike outlet   uggs outlet   ugg outlet   coach canada   coach outlet   kate spade 2017.10.19yangping
  • 0

#10 llllllllllllllllll (guest)

llllllllllllllllll (guest)
  • Guests

Posted 15 November 2017 - 05:13 AM

moncler outlet reebok outlet nike huarache nike air max jordan retro nike air max 90 michael kors outlet store hermes handbags fitflops real jordans for sale cheap yeezy boost 350 nike air huarache nfl jerseys kobe shoes adidas yeezy michael kors outlet yeezys yeezy boost tom ford eyewear yeezy boost 350 adidas tubular birkin bag converse outlet longchamp longchamps adidas superstar shoes longchamp bags nike roshe run hogan outlet jordan 12 kyrie 4 retro jordans michael kors outlet led shoes stephen curry shoes golden goose yeezy boost 350 michael kors outlet balenciaga shoes kate spade outlet air max 90 longchamp handbags yeezy boost 350 pandora jewelry air jordan shoes lacoste online shop adidas yeezy michael kors outlet online gucci belt nike air force balenciaga sneakers kobe shoes nike mercurial longchamp outlet balenciaga shoes balenciaga sneakers prada glasses lebron 14 michael kors uk ultra boost longchamp bags golden goose sneakers adidas yeezy boost timberland outlet tom ford sunglasses af1 cheap jordans michael kors outlet atlanta falcons jersey kate spade handbags hogan outlet online jordan shoes adidas nmd true religion outlet fitflops lacoste outlet yeezy shoes yeezy boost 350 v2 michael jordan shoes air jordan shoes true religion jeans retro jordans kyrie 4 nmd light up shoes led shoes for kids nike air zoom calvin klein outlet jordan shoes yeezy boost michael kors outlet kobe 11 chrome hearts james harden shoes mlb jerseys yeezy boost 350 v2 jordan 4 adidas tubular shadow adidas nmd r1 nike roshe one louboutin shoes uk nike air max 90 lebron 15 lacoste outlet nike polo longchamp handbags yeezy shoes adidas tubular shadow adidas shoes kobe byrant shoes adidas stan smith air jordans jordan 13 yeezy boost hermes belt adidas tubular gucci belts yeezy boost 350 michael kors factory outlet goyard handbags air jordan adidas tubular brady jersey vans shoes jordan shoes longchamp outlet true religion lacoste polo jordan 11 adidas outlet hermes belts pandora charms jordan 11 retro harden shoes nike air max 2018 jordan retro 12 yeezy nike air huarache kate spade outlet online cheap nfl jerseys nike roshe run cartier bracelet air max 2017 nike huarache moncler jackets longchamp nike basketball shoes asics running shoes air max 2018 yeezy boost nike zoom running shoe yeezy boost 350 air max adidas superstar shoes bape hoodie ferragamo belt 100% real jordans for cheap adidas stan smith yeezy boost 350 v2 kyrie 3 links of london michael kors handbags hermes birkin air jordan lebron 14 shoes kyrie shoes basketball shoes adidas ultra boost adidas nmd yeezy shoes yeezy boost pandora bracelet patriots jersey Kanye West shoes http://www.kobebasketballshoes.us.com dior sunglasses michael kors handbags cheap jordans curry shoes lebron shoes nike polo shirts tory burch shoes air max 90 birkin bag adidas outlet goyard bags nike dunks adidas ultra boost uncaged lebron 15 kobe sneakers kevin durant shoes nike dunk shoes pandora charms curry 3 shoes http://www.kobeshoes.uk new england patriots jersey prada sunglasses curry 4 lebron james shoes reebok shoes yeezy boost 350 v2 adidas outlet online yeezy boost 350 v2 longchamp yeezys hermes belt longchamps kobe 11 michael jordan shoes hermes belts for men michael kors outlet online michael kors outlet online kobe 9 links of london sale adidas stan smith sneakers golden goose sneakers links of london outlet store adidas tubular adidas superstar chrome hearts adidas neo longchamp bags nike foamposite michael kors outlet authentic jordans golden goose nike air force 1 air jordan 13 pandora jewelry air force 1 roshe shoes vibram fivefingers adidas gazelle cheap jordans nmd chrome hearts online adidas outlet asics shoes yeezy boost 350 calvin klein outlet online longchamp jordan retro 6 curry 3 supreme clothing ysl bags kobe shoes timberland boots adidas nmd curry 4 adidas stan smith shoes jordan shoes nike zoom air force 1 adidas online shop jordan shoes adidas nmd runner yeezy shoes supreme hoodie retro jordans vibram five fingers links of london lebron 13 shoes nike football boots converse outlet yeezy cheap jordans air yeezy basketball shoes vans shoes falcons jersey golden goose ysl handbags hermes belt adidas online shop louboutin shoes nike air max 2017 adidas ultra boost nike huarache yeezy boost 350 100% real jordans for cheap chrome hearts adidas store air max 2016 adidas ultra michael kors factory outlet vans outlet longchamp sale adidas outlet online bape hoodie michael kors handbags kobe basketball shoes cheap mlb jerseys golden goose outlet cheap jordans lebron 13 jordan 6 adidas ultra boost tory burch shoes kobe 9 nmd michael kors michael kors handbags van cleef arpels ferragamo belts nhl jerseys chrome hearts online true religion yeezy shoes nike air zoom kobe basketball shoes roshe run longchamp bags kyrie irving shoes yeezy shoes nike air max cheap basketball shoes nike air force 1 van cleef led shoes adidas superstar cheap jordans nike roshe uk tory burch outlet adidas nmd converse outlet store kyrie 3 shoes fitflops sale clearance converse shoes adidas nmd dior glasses nike air force kd shoes adidas eqt birkin bag nike zoom

 


  • 0

#11 Guest (guest)

Guest (guest)
  • Guests

Posted 15 November 2017 - 07:00 AM

20171115lck

coach outlet store polo ralph lauren cheap ray ban sunglasses ugg boots ugg boots nike nba jerseys coach handbags on sale uggs outlet coach outlet online canada goose outlet online canada goose jackets swarovski outlet coach handbags coach outlet store online canada goose outlet store christian louboutin shoes ugg boots on sale ralph lauren outlet uggs outlet hermes birkin michael kors handbags burberry outlet store supra shoes true religion outlet uk ralph lauren outlet ugg black friday snapback hats salomon outlet michael kors outlet hermes online pandora charms cheap oakley sunglasses nike air max 2015 coach handbags outlet coach outlet online michael kors outlet ugg boots ray ban sunglasses cheap uggs canada goose jackets ray-ban sunglasses oakley sunglasses pandora charms coach factory outlet cheap ugg boots ugg outlet christian louboutin cheap mlb jerseys uggs on clearance nike trainers canada goose outlet fitflops sale clearance nike store uk lebron james shoes michael kors bags canada goose uk coach outlet ugg boots coach outlet online tory burch outlet stores canada goose outlet online cheap snapbacks ugg outlet true religion jeans for men uggs outlet ugg outlet stores longchamp handbags polo ralph lauren outlet ugg boots on sale cheap uggs cheap ray ban sunglasses coach outlet blackhawks jerseys puma shoes lacoste pas cher ugg outlet michael kors outlet true religion jeans ralph lauren polo nike factory shoes michael kors outlet online polo ralph lauren outlet ralph lauren polo shirts canada goose coach outlet canada goose coats true religion outlet store ugg outlet online clearance mbt shoes outlet ugg boots oakley sunglasses mulberry handbags moncler jackets ugg boots clearance ralph lauren uk michael kors outlet clearance coach outlet online ralph lauren uk nike air force 1 oakley sunglasses wholesale ugg outlet store ugg outlet online coach factory outlet michael kors outlet online uggs outlet online michael kors outlet online coach outlet online michael kors outlet online coach outlet nike trainers coach outlet online coach outlet ugg outlet online clearance fitflops sale clearance ray ban sunglasses outlet canada goose jackets canada goose coats longchamp handbags canada goose outlet coach outlet online coach outlet store online true religion jeans oakley sunglasses coach handbags online outlet mulberry bags polo ralph lauren kate spade outlet coach outlet canada goose outlet store swarovski crystal ugg outlet coach outlet store online michael kors cheap snapbacks cheap ray ban sunglasses kate spade outlet air max shoes coach factory outlet oakley sunglasses wholesale ugg outlet coach factory outlet tods outlet online cheap jordans ray ban sunglasses outlet oakley sunglasses wholesale christian louboutin sale ralph lauren pas cher air max 90 kate spade outlet michael kors outlet clearance michael kors outlet ugg boots canada goose jackets for women nike store uk cheap oakley sunglasses oakley sunglasses wholesale coach outlet clearance canada goose jackets ray ban sunglasses michael kors outlet longchamp outlet store uggs outlet cheap soccer jerseys polo ralph lauren birkenstock shoes ray ban sunglasses outlet canada goose outlet store coach outlet swarovski outlet mulberry bags polo ralph lauren outlet cheap ugg boots true religion jeans polo outlet true religion outlet michael kors outlet polo ralph lauren canada goose outlet coach outlet online adidas shoes michael kors outlet online michael kors outlet coach factory outlet tory burch outlet stores nba jerseys canada goose outlet futbol baratas canada goose jackets michael kors outlet online ugg boots clearance michael kors uk coach outlet store online coach outlet store online cheap football shirts michael kors outlet clearance yeezy boost 350 canada goose coats coach outlet online ferragamo shoes canada goose parka nike air max 1 ugg outlet online canada goose outlet christian louboutin sale ugg boots cheap ray ban sunglasses coach outlet online mulberry sale ugg boots clearance canada goose outlet michael kors uk air max shoes vans shoes uggs outlet swarovski outlet store canada goose coats nike outlet online michael kors outlet online chicago blackhawks jerseys tods outlet ray ban sunglasses michael kors handbags cheap jerseys kate spade outlet online ugg outlet canada goose outlet pandora outlet christian louboutin outlet uggs outlet cheap nfl jerseys michael kors wallets coach outlet online tory burch outlet michael kors outlet hermes belt polo ralph lauren ugg boots on sale nike shoes canada goose outlet store ralph lauren factory store ralph lauren mulberry uk ugg boots nike shoes for women ray-ban sunglasses max 90 birkenstock outlet cheap nhl jerseys coach outlet clearance oakley sunglasses coach outlet store online coach outlet online fitflops canada goose uk coach outlet coach outlet canada ferragamo outlet nike air max 90 longchamp pliage ed hardy outlet longchamp solde herve leger dresses kate spade outlet online ugg outlet mulberry bags ugg outlet uggs on sale prada bags uggs on sale uggs outlet nike air max 90 cartier outlet new balance shoes coach outlet canada goose outlet store coach outlet online coach outlet longchamp pas cher louboutin shoes oakley sunglasses wholesale ugg boots outlet tory burch outlet cheap jordans coach outlet canada goose jackets coach outlet canada goose outlet michael kors outlet store yeezy boost tory burch outlet online michael kors factory outlet coach outlet store online burberry outlet michael kors supra shoes sale canada goose jackets michael kors outlet online ferragamo shoes moncler outlet reebok trainers

20171115lck

 


  • 0

#12 Guest (guest)

Guest (guest)
  • Guests

Posted 16 November 2017 - 12:12 AM

ugg outlet store ralph lauren sale prada outlet store christian louboutin sale coach outlet online uggs outlet polo outlet adidas outlet store ugg boots puma shoes true religion jeans polo ralph lauren outlet online coach outlet uggs outlet canada goose outlet christian louboutin outlet mulberry handbags fitflops sale clearance adidas nmd uggs outlet canada goose outlet store canada goose michael kors outlet online store uggs outlet tory burch outlet online oakley sunglasses outlet polo ralph lauren outlet michael kors outlet online ralph lauren outlet uggs outlet canada goose uk ralph lauren outlet fred perry clothing ugg outlet cheap oakley sunglasses polo outlet canada goose jackets canada canada goose jackets cheap ugg boots uggs outlet mbt shoes true religion outlet cheap uggs canada goose outlet online michael kors outlet online kate spade handbags longchamp outlet online kate spade outlet ralph lauren uk christian louboutin outlet hermes birkin cheap ray ban sunglasses canada goose jackets michael kors outlet online ugg boots clearance ferragamo shoes lacoste clothing canada goose uk coach outlet adidas yeezy shoes kate spade handbags adidas nmd r2 coach outlet online nike outlet ugg boots outlet michael kors outlet polo outlet kate spade handbags coach factory outlet pandora jewelry canada goose jackets lacoste shirts cheap oakley sunglasses canada goose outlet store coach factory outlet canada goose outlet polo outlet canada goose jackets canada canada goose coach factory outlet canada goose jackets cheap mlb jerseys michael kors outlet clearance nhl jerseys polo ralph lauren ugg outlet stores ugg boots clearance canada goose outlet michael kors outlet online michael kors outlet online canada goose outlet pandora outlet polo ralph lauren kate spade handbags coach outlet online clarks outlet michael kors handbags yeezy boost 350 v2 uggs outlet canada goose outlet ugg boots clearance canada goose uggs outlet cheap oakley sunglasses polo shirts mlb jerseys fred perry shirts canada goose jackets mulberry bags canada goose outlet cheap jordan shoes mulberry outlet michael kors outlet coach outlet online cheap uggs michael kors outlet stores nike outlet store canada goose outlet store cheap ugg boots ugg boots fitflops shoes mbt shoes clearance outlet polo ralph lauren canada goose uk michael kors outlet ugg outlet air max 90 canada goose michael kors outlet online pandora outlet online canada goose polo ralph lauren ralph lauren outlet ralph lauren outlet canada goose outlet store cheap jerseys uggs outlet ugg outlet polo ralph lauren outlet christian louboutin shoes canada goose jackets ugg sale mont blanc pens for sale nike shoes on sale tory burch sandals ralph lauren coach factory outlet cheap jordans uggs outlet uggs outlet ray ban sunglasses coach outlet canada goose outlet online tory burch handbags coach outlet polo outlet christian louboutin michael kors outlet online michael kors outlet clearance christian louboutin shoes cheap snapbacks lacoste shoes coach outlet canada goose outlet online coach factory outlet coach canada longchamp ugg outlet online michael kors outlet clearance ralph lauren outlet cheap oakley sunglasses prada outlet coach outlet online tory burch handbags canada goose outlet canada goose outlet store ugg outlet fred perry outlet michael kors outlet clearance michael kors outlet clearance oakley sunglasses canada goose jackets cheap uggs mlb jerseys coach factory outlet michael kors outlet polo ralph lauren shirts ugg boots ugg outlet cheap uggs cheap ugg boots ugg boots polo ralph lauren cheap nfl jerseys ralph lauren outlet adidas outlet store canada goose jackets nike air max polo outlet canada goose jackets

yaoxuemei20171116

 


  • 0



Reply to this topic



  



 

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Community Skin by Fredson Nunes Junior