The next generation website builder

Powerful and easy to use drag and drop website builder for blogs, presentation or ecommerce stores.

rough-edges-bottom
Hero background

Better Security

Vvveb is 100% safe against sql injections, a vulerability that affects most CMS.

Unlimited customization

Vvveb uses only html for templating for maximum flexibility.

Advanced Ecommerce

Vvveb is a full featured ecommerce platform with advanced functionality.

Full Localization

Publish content in multiple languages or sell in different currencies.

new

Code editor with syntax highglighting that updates in real time

The html for sections blocks and components and this template are built using Bootstrap.

Use any of the hundreds fonts from google fonts for your design.

Powerful and easy to use drag and drop builder for blogs, websites or ecommerce stores.

Learn More
Macbook
App development
on sale

Intuitive building with simple drag and drop for sections, components and blocks

The html for sections blocks and components and this template are built using Bootstrap.

Use any of the hundreds fonts from google fonts for your design.

Powerful and easy to use drag and drop builder for blogs, websites or ecommerce stores.

Learn More

Popular Products

Some of our users

Hear what our users have to say

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui.

team

John Doe

Company Inc.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui.

team

Jane Doe

Company Inc.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui.

team

John Doe

Company Inc.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui.

team

Jane Doe

Company Inc.

Choose your plan

14-day free trial no credit card required.

104-dumbbell
Personal $ 49 /mos
  • 5 Dog Walk
  • 3 Vet Visit
  • 3 Pet Spa
  • Free Support
Get Started
107-healthy
Business $ 79 /mos
  • 5 Dog Walk
  • 3 Vet Visit
  • 3 Pet Spa
  • Free Support
Get Started
126-namaste-no-hand-shake
Ultimate $ 109 /mos
  • 5 Dog Walk
  • 3 Vet Visit
  • 3 Pet Spa
  • Free Support
Get Started

Latest Posts

Contact Us

Powerful and easy to use drag and drop website builder for blogs, presentation or ecommerce stores.

The html for sections blocks and components and this template are built using Bootstrap 5.

Email: info@maishainfotech.com

Phone: +919211244254

  1. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  2. [10] => products.3911ae9112f9b7818e4e504bdc51a2a2
  3. [11] => products.3911ae9112f9b7818e4e504bdc51a2a2_expire
  4. )
  5. [13-Jun-2026 08:05:08 PRC] wait cache /shop/3?direction=desc&order_by=product_idArray
  6. (
  7. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  8. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  9. [2] => menu.94598630b740ec08860f5f0e9483c030
  10. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  11. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  12. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  13. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  14. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  15. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  16. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  17. [10] => products.3911ae9112f9b7818e4e504bdc51a2a2
  18. [11] => products.3911ae9112f9b7818e4e504bdc51a2a2_expire
  19. )
  20. [13-Jun-2026 08:05:09 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/shop/3?direction=desc&order_by=product_id
  21. 40ec08860f5f0e9483c030
  22. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  23. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  24. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  25. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  26. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  27. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  28. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  29. [10] => products.3a3a63d1c85bebbc855c520ff6bb0414
  30. [11] => products.3a3a63d1c85bebbc855c520ff6bb0414_expire
  31. )
  32. [13-Jun-2026 07:28:59 PRC] wait cache /shop/1?direction=asc&order_by=nameArray
  33. (
  34. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  35. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  36. [2] => menu.94598630b740ec08860f5f0e9483c030
  37. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  38. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  39. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  40. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  41. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  42. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  43. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  44. [10] => products.3a3a63d1c85bebbc855c520ff6bb0414
  45. [11] => products.3a3a63d1c85bebbc855c520ff6bb0414_expire
  46. )
  47. [13-Jun-2026 07:29:01 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/shop/1?direction=asc&order_by=name
  48. [13-Jun-2026 08:05:05 PRC] wait cache /shop/3?direction=desc&order_by=product_idArray
  49. (
  50. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  51. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  52. [2] => menu.94598630b740ec08860f5f0e9483c030
  53. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  54. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  55. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  56. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  57. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  58. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  59. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  60. [10] => products.3911ae9112f9b7818e4e504bdc51a2a2
  61. [11] => products.3911ae9112f9b7818e4e504bdc51a2a2_expire
  62. )
  63. [13-Jun-2026 08:05:07 PRC] wait cache /shop/3?direction=desc&order_by=product_idArray
  64. (
  65. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  66. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  67. [2] => menu.94598630b740ec08860f5f0e9483c030
  68. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  69. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  70. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  71. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  72. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  73. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  74. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  75. [10] => products.3911ae9112f9b7818e4e504bdc51a2a2
  76. [11] => products.3911ae9112f9b7818e4e504bdc51a2a2_expire
  77. )
  78. [13-Jun-2026 08:05:08 PRC] wait cache /shop/3?direction=desc&order_by=product_idArray
  79. (
  80. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  81. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  82. [2] => menu.94598630b740ec08860f5f0e9483c030
  83. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  84. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  85. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  86. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  87. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  88. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  89. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  90. [10] => products.3911ae9112f9b7818e4e504bdc51a2a2
  91. [11] => products.3911ae9112f9b7818e4e504bdc51a2a2_expire
  92. )
  93. [13-Jun-2026 08:05:09 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/shop/3?direction=desc&order_by=product_id
    1. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = :site_id AND _.namespace = :namespace AND _.`key` IN (:key)
      1. insert-scripts
        1. header
        2. footer
      2. 1
      3. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = 1 AND _.namespace = 'insert-scripts' AND _.`key` IN ('header','footer')
    1. SELECT pd.*,product.*, product.product_id as array_key ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('id', pi.product_image_id, 'image', pi.image) ) FROM product_image as pi WHERE pi.product_id = product.product_id GROUP BY pi.product_id) as images FROM product LEFT JOIN product_to_site p2s ON (product.product_id = p2s.product_id) LEFT JOIN product_content pd ON ( product.product_id = pd.product_id AND pd.language_id = :language_id ) WHERE p2s.site_id = :site_id AND product.type = :type AND product.status = :status ORDER BY product.product_id DESC LIMIT :start, :limit
      1. 1
      2. 1
      3. 1
      4. en_US
      5. en_US
      6. 1
      7. 1
      8. 1
      9. 8
      10. 1
      11. autocomplete
      12. product
      13. 1
        1. 1
        2. medium
        3. asc
        4. SELECT pd.*,product.*, product.product_id as array_key ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('id', pi.product_image_id, 'image', pi.image) ) FROM product_image as pi WHERE pi.product_id = product.product_id GROUP BY pi.product_id) as images FROM product LEFT JOIN product_to_site p2s ON (product.product_id = p2s.product_id) LEFT JOIN product_content pd ON ( product.product_id = pd.product_id AND pd.language_id = 1 ) WHERE p2s.site_id = 1 AND product.type = 'product' AND product.status = 1 ORDER BY product.product_id DESC LIMIT 0, 8
      1. SELECT count(*) FROM ( SELECT product.product_id FROM product LEFT JOIN product_to_site p2s ON (product.product_id = p2s.product_id) LEFT JOIN product_content pd ON ( product.product_id = pd.product_id AND pd.language_id = :language_id ) WHERE p2s.site_id = :site_id AND product.type = :type AND product.status = :status ORDER BY product.product_id DESC ) as count
        1. 1
        2. 1
        3. 1
        4. en_US
        5. en_US
        6. 1
        7. 1
        8. 1
        9. 8
        10. 1
        11. autocomplete
        12. product
        13. 1
          1. 1
          2. medium
          3. asc
          4. SELECT count(*) FROM ( SELECT product.product_id FROM product LEFT JOIN product_to_site p2s ON (product.product_id = p2s.product_id) LEFT JOIN product_content pd ON ( product.product_id = pd.product_id AND pd.language_id = 1 ) WHERE p2s.site_id = 1 AND product.type = 'product' AND product.status = 1 ORDER BY product.product_id DESC ) as count
        1. SELECT pd.*,post.*,ad.username,ad.display_name,ad.admin_id,ad.email, ad.avatar, ad.bio, ad.first_name, ad.last_name ,(SELECT COUNT(c.comment_id) FROM comment c WHERE post.post_id = c.post_id AND c.status = :comment_status ) AS comment_count FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = :language_id ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id) LEFT JOIN admin ad ON (post.admin_id = ad.admin_id) WHERE 1 = 1 AND post.type = :type AND post.status = :status AND ps.site_id = :site_id ORDER BY post.post_id desc LIMIT :start, :limit
          1. 1
          2. 1
          3. 1
          4. en_US
          5. en_US
          6. 1
          7. 1
          8. 1
            1. autocomplete
            2. post
            3. 3
            4. post_id
            5. desc
            6. publish
            7. 200
            8. 1
            9. 1
            10. 1
            11. medium
            12. SELECT pd.*,post.*,ad.username,ad.display_name,ad.admin_id,ad.email, ad.avatar, ad.bio, ad.first_name, ad.last_name ,(SELECT COUNT(c.comment_id) FROM comment c WHERE post.post_id = c.post_id AND c.status = 1 ) AS comment_count FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = 1 ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id) LEFT JOIN admin ad ON (post.admin_id = ad.admin_id) WHERE 1 = 1 AND post.type = 'post' AND post.status = 'publish' AND ps.site_id = 1 ORDER BY post.post_id desc LIMIT 0, 3
          1. SELECT count(*) FROM ( SELECT post.post_id FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = :language_id ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id) LEFT JOIN admin ad ON (post.admin_id = ad.admin_id) WHERE 1 = 1 AND post.type = :type AND post.status = :status AND ps.site_id = :site_id ORDER BY post.post_id desc ) as count
            1. 1
            2. 1
            3. 1
            4. en_US
            5. en_US
            6. 1
            7. 1
            8. 1
              1. autocomplete
              2. post
              3. 3
              4. post_id
              5. desc
              6. publish
              7. 200
              8. 1
              9. 1
              10. 1
              11. medium
              12. SELECT count(*) FROM ( SELECT post.post_id FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = 1 ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id) LEFT JOIN admin ad ON (post.admin_id = ad.admin_id) WHERE 1 = 1 AND post.type = 'post' AND post.status = 'publish' AND ps.site_id = 1 ORDER BY post.post_id desc ) as count
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/cdn/plugin.php [line: 75 - 83] */
                  function ($publicPath, $type, $image, $size){
                  			$publicPath = $options['url'];
                  			$publicPath = str_replace(
                  				['%host%', '%type%', '%image%', '%size%'],
                  				[$_SERVER['HTTP_HOST'], $type, $image, $size],
                  				$publicPath);
                  
                  			return [$publicPath, $type, $image, $size];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 107 - 113] */
                  function ($image, $type, $size){
                  			if ($type == 'product') {
                  				$image = str_replace('/media/', '', $image);
                  			}
                  
                  			return [$image, $type, $size];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/debug/plugin.php [line: 124 - 129] */
                  function ($sql, $params){
                  			$debugSql = $db->debugSql($sql, $params);
                  			$this->view->debug['data']['sql'][] = [$sql, $params + ['sql' => $debugSql]];
                  
                  			return [$sql, $params];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/debug/plugin.php [line: 167 - 180] */
                  function (){
                  			$events = Event::getEvents();
                  
                  			array_walk_recursive($events, function (&$value, $key) {
                  				if (is_object($value)) {
                  					if ($value instanceof \Closure) {
                  						$value = $this->closureDump($value);
                  					}
                  				}
                  			});
                  
                  			$this->view->debug['data']['filters'] = $events;
                  			$this->view->debug['data']['request'] = Routes::getUrlData();
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 90 - 99] */
                  function ($template, $htmlFile, $tplFile, $vTpl, $view){
                  			// add captcha js and field to page
                  			//if ($url = Routes::getUrlData()) {
                  			//if (in_array($url['module'], $routes)) {
                  			$vTpl->loadTemplateFile(__DIR__ . '/app/template/common.tpl');
                  			//}
                  			//}
                  
                  			return [$template, $htmlFile, $tplFile, $vTpl, $view];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
                  function ($comments){
                  			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
                  
                  			$commentType = false;
                  
                  			foreach ($types as $type) {
                  				if (isset($comments[$type])) {
                  					$commentType = $type;
                  
                  					break;
                  				}
                  			}
                  
                  			if ($commentType) {
                  				foreach ($comments[$commentType] as &$comment) {
                  					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
                  						(isset($comment['email']) || ! $comment['email'])) {
                  						$comment['avatar'] = $this->getDiceBear(
                  								$comment['email'],
                  								$options['url'] ?? DICEBAR_URL,
                  								$options['size'] ?? 60,
                  								$options['style'] ?? 'fun-emoji',
                  								$options['flip'] ?? 'false'
                  							);
                  					}
                  
                  					if (isset($options['size'])) {
                  						$comment['size'] = $options['size'];
                  					}
                  				}
                  			}
                  
                  			return [$comments];
                  		};
                  
                2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
                  function ($comments){
                  			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
                  
                  			$commentType = false;
                  
                  			foreach ($types as $type) {
                  				if (isset($comments[$type])) {
                  					$commentType = $type;
                  
                  					break;
                  				}
                  			}
                  
                  			if ($commentType) {
                  				foreach ($comments[$commentType] as &$comment) {
                  					if (! isset($comment['avatar']) || ! $comment['avatar']) {
                  						$comment['avatar'] = $this->getGravatar(
                  								$comment['email'],
                  								$options['size'] ?? 60,
                  								$options['default'] ?? 'mm',
                  								$options['rating'] ?? 'g'
                  							);
                  					}
                  				}
                  			}
                  
                  			return [$comments];
                  		};
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
                  function ($comments){
                  			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
                  
                  			$commentType = false;
                  
                  			foreach ($types as $type) {
                  				if (isset($comments[$type])) {
                  					$commentType = $type;
                  
                  					break;
                  				}
                  			}
                  
                  			if ($commentType) {
                  				foreach ($comments[$commentType] as &$comment) {
                  					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
                  						(isset($comment['email']) || ! $comment['email'])) {
                  						$comment['avatar'] = $this->getDiceBear(
                  								$comment['email'],
                  								$options['url'] ?? DICEBAR_URL,
                  								$options['size'] ?? 60,
                  								$options['style'] ?? 'fun-emoji',
                  								$options['flip'] ?? 'false'
                  							);
                  					}
                  
                  					if (isset($options['size'])) {
                  						$comment['size'] = $options['size'];
                  					}
                  				}
                  			}
                  
                  			return [$comments];
                  		};
                  
                2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
                  function ($comments){
                  			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
                  
                  			$commentType = false;
                  
                  			foreach ($types as $type) {
                  				if (isset($comments[$type])) {
                  					$commentType = $type;
                  
                  					break;
                  				}
                  			}
                  
                  			if ($commentType) {
                  				foreach ($comments[$commentType] as &$comment) {
                  					if (! isset($comment['avatar']) || ! $comment['avatar']) {
                  						$comment['avatar'] = $this->getGravatar(
                  								$comment['email'],
                  								$options['size'] ?? 60,
                  								$options['default'] ?? 'mm',
                  								$options['rating'] ?? 'g'
                  							);
                  					}
                  				}
                  			}
                  
                  			return [$comments];
                  		};
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
                  function ($comments){
                  			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
                  
                  			$commentType = false;
                  
                  			foreach ($types as $type) {
                  				if (isset($comments[$type])) {
                  					$commentType = $type;
                  
                  					break;
                  				}
                  			}
                  
                  			if ($commentType) {
                  				foreach ($comments[$commentType] as &$comment) {
                  					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
                  						(isset($comment['email']) || ! $comment['email'])) {
                  						$comment['avatar'] = $this->getDiceBear(
                  								$comment['email'],
                  								$options['url'] ?? DICEBAR_URL,
                  								$options['size'] ?? 60,
                  								$options['style'] ?? 'fun-emoji',
                  								$options['flip'] ?? 'false'
                  							);
                  					}
                  
                  					if (isset($options['size'])) {
                  						$comment['size'] = $options['size'];
                  					}
                  				}
                  			}
                  
                  			return [$comments];
                  		};
                  
                2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
                  function ($comments){
                  			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
                  
                  			$commentType = false;
                  
                  			foreach ($types as $type) {
                  				if (isset($comments[$type])) {
                  					$commentType = $type;
                  
                  					break;
                  				}
                  			}
                  
                  			if ($commentType) {
                  				foreach ($comments[$commentType] as &$comment) {
                  					if (! isset($comment['avatar']) || ! $comment['avatar']) {
                  						$comment['avatar'] = $this->getGravatar(
                  								$comment['email'],
                  								$options['size'] ?? 60,
                  								$options['default'] ?? 'mm',
                  								$options['rating'] ?? 'g'
                  							);
                  					}
                  				}
                  			}
                  
                  			return [$comments];
                  		};
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/shipping/plugin.php [line: 79 - 89] */
                  function ($site){
                  			$request = Request::getInstance();
                  			$route = $request->get['route'] ?? '';
                  			$module = $request->get['module'] ?? '';
                  
                  			if ($route == '/checkout' || $module == 'checkout/checkout/index') {
                  				$this->init();
                  			}
                  
                  			return [$site];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 116 - 120] */
                  function ($options){
                  			$options['type'] = 'theme';
                  
                  			return [$options];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 123 - 131] */
                  function ($results){
                  			if (isset($results['product'])) {
                  				foreach ($results['product'] as &$product) {
                  					$product['download_link'] = PUBLIC_PATH . 'market/themes/' . $product['slug'] . '.zip';
                  				}
                  			}
                  
                  			return [$results];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 134 - 140] */
                  function ($results){
                  			if ($results) {
                  				$results['download_link'] = PUBLIC_PATH . 'market/themes/' . $results['slug'] . '.zip';
                  			}
                  
                  			return [$results];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/toc-posts/plugin.php [line: 174 - 180] */
                  function ($results = false){
                  			if ($results && isset($results['content'])) {
                  				$this->toc($results);
                  			}
                  
                  			return [$results];
                  		});
                  
                1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/toc-posts/plugin.php [line: 182 - 188] */
                  function ($results = false){
                  			if ($results && isset($results[0])) {
                  				$this->toc($results[0]);
                  			}
                  
                  			return [$results];
                  		});
                  
          1. /
          2. index/index
          3. \/