Перейти к содержанию
Форум поддержки пользователей VamShop

Каталог товаров с главной


Рекомендуемые сообщения

Всем привет. Можно ли как-то сделать, что бы каталог товаров с главной страницы был на всех страницах магазина?

 

c9d2a067.jpg

Ссылка на сообщение
Поделиться на другие сайты
18 минут назад, pal-palich сказал:

Всем привет. Можно ли как-то сделать, что бы каталог товаров с главной страницы был на всех страницах магазина?

 

c9d2a067.jpg

Можно.

Скопируйте файл /includes/modules/sitemap.php в sitemap_all.php

В файле sitemap_all.php внизу поменяйте $default->assign на $vamTemplate->assign

Подключите файл в /templates/vasmhop4/sourcex/boxes.php добавив строку внизу:

include(DIR_WS_MODULES . 'sitemap_all.php');

и всё, в /templates/vamshop4/index.html используйте метку:

{$MODULE_sitemap}

 

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, support сказал:

Можно.

Скопируйте файл /includes/modules/sitemap.php в sitemap_all.php

В файле sitemap_all.php внизу поменяйте $default->assign на $vamTemplate->assign 

Подключите файл в /templates/vasmhop4/sourcex/boxes.php добавив строку внизу: 


include(DIR_WS_MODULES . 'sitemap_all.php');

и всё, в /templates/vamshop4/index.html используйте метку:


{$MODULE_sitemap}

  

Что-то не получается. Все делал по порядку. Шаблон не vamshop4 а vamshop1

Когда ставлю вот эту строчку в файле boxes.php

include(DIR_WS_MODULES . 'sitemap_all.php');

То сайт перестает работать. Никакой ошибки не выдает, просто белая страница.

Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, pal-palich сказал:

Что-то не получается. Все делал по порядку. Шаблон не vamshop4 а vamshop1

Когда ставлю вот эту строчку в файле boxes.php


include(DIR_WS_MODULES . 'sitemap_all.php');

То сайт перестает работать. Никакой ошибки не выдает, просто белая страница.

Я ж прежде чем писать совет, попробовал его - всё работает.

Если белая страница, значит какая-то ошибка.

Включайте отображение ошибок - 

 

Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, support сказал:

Я ж прежде чем писать совет, попробовал его - всё работает.

Если белая страница, значит какая-то ошибка.

Включайте отображение ошибок - 

 

Вот такая ошибка:

Fatal error: Uncaught Error: Call to a member function assign() on null in /home/users/l/leshka81/domains/leshka81.myjino.ru/includes/modules/sitemap_all.php:101 Stack trace: #0 /home/users/l/leshka81/domains/leshka81.myjino.ru/templates/mierus2/source/boxes.php(69): include() #1 /home/users/l/leshka81/domains/leshka81.myjino.ru/index.php(33): require('/home/users/l/l...') #2 /home/users/l/leshka81/domains/leshka81.myjino.ru/redirector.php(241): include('/home/users/l/l...') #3 {main} thrown in /home/users/l/leshka81/domains/leshka81.myjino.ru/includes/modules/sitemap_all.php on line 101

 

Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, pal-palich сказал:

Вот такая ошибка:


Fatal error: Uncaught Error: Call to a member function assign() on null in /home/users/l/leshka81/domains/leshka81.myjino.ru/includes/modules/sitemap_all.php:101 Stack trace: #0 /home/users/l/leshka81/domains/leshka81.myjino.ru/templates/mierus2/source/boxes.php(69): include() #1 /home/users/l/leshka81/domains/leshka81.myjino.ru/index.php(33): require('/home/users/l/l...') #2 /home/users/l/leshka81/domains/leshka81.myjino.ru/redirector.php(241): include('/home/users/l/l...') #3 {main} thrown in /home/users/l/leshka81/domains/leshka81.myjino.ru/includes/modules/sitemap_all.php on line 101

 

Не поменяли $default на $vamTemplate, видимо.

Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, support сказал:

Не поменяли $default на $vamTemplate, видимо.

Саш, в самом низу в файле как ты сказал я поменял. Вот код из файла sitemap_all.php

Во теперь какая ошибка выскакивет

Fatal error: Cannot redeclare get_category_tree() (previously declared in /home/users/l/leshka81/domains/leshka81.myjino.ru/includes/modules/sitemap_all.php:26) in /home/users/l/leshka81/domains/leshka81.myjino.ru/includes/modules/sitemap.php on line 26

 

Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, pal-palich сказал:

Саш, в самом низу в файле как ты сказал я поменял. Вот код из файла sitemap_all.php


<?php
/* -----------------------------------------------------------------------------------------
   $Id: sitemap.php 782 2007-02-13 10:23:57 VaM $

   VaM Shop - open source ecommerce solution
   http://vamshop.ru
   http://vamshop.com

   Copyright (c) 2007 VaM Shop
   -----------------------------------------------------------------------------------------
   based on:
   (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
   (c) 2002-2003 osCommerce; www.oscommerce.com
   (c) 2003	 nextcommerce; www.nextcommerce.org
   (c) 2004 xt:Commerce (sitemap.php,v 1.19 2004/08/25); xt-commerce.com

   Released under the GNU General Public License
   ---------------------------------------------------------------------------------------*/

$module = new vamTemplate;
$module->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');

require_once(DIR_FS_INC . 'vam_count_products_in_category.inc.php');

 //to get category trees
 function get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false, $cPath = '') {
if ($parent_id == 0){ $cPath = ''; } else { $cPath .= $parent_id . '_'; }
   if (!is_array($category_tree_array)) $category_tree_array = array();
   if ( (sizeof($category_tree_array) < 1) && ($exclude != '0') ) $category_tree_array[] = array('id' => '0', 'text' => TEXT_TOP);

   if ($include_itself) {
     $category_query = "select cd.categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd where cd.language_id = '" . $_SESSION['languages_id'] . "' and c.categories_status = '1' and cd.categories_id = '" . $parent_id . "'";
     $category_query = vamDBquery($category_query);
     $category = vam_db_fetch_array($category_query,true);
     $category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_name']);
   }

   $categories_query = "select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . $_SESSION['languages_id'] . "' and c.parent_id = '" . $parent_id . "' and c.categories_status = '1' order by c.sort_order, cd.categories_name";
   $categories_query = vamDBquery($categories_query);
   while ($categories = vam_db_fetch_array($categories_query,true)) {
   
     $SEF_link = vam_href_link(FILENAME_DEFAULT, vam_category_link($categories['categories_id'],$categories['categories_name']));
    
     if ($exclude != $categories['categories_id'])
      $category_tree_array[] = array('id' => $categories['categories_id'],
      				     'text' => $spacing . $categories['categories_name'],
				     'link'  => $SEF_link);
      $category_tree_array = get_category_tree($categories['categories_id'], $spacing . '&nbsp;&nbsp;&nbsp;', $exclude, $category_tree_array, false, $cPath);
   }

   return $category_tree_array;
 }
 
 
 
 
 
 if (GROUP_CHECK == 'true') {
 	$group_check = "and c.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
 }
 
 $categories_query = "select c.categories_image, c.categories_id, cd.categories_name, cd.categories_description FROM " . TABLE_CATEGORIES . " c left join "
      . TABLE_CATEGORIES_DESCRIPTION ." cd on c.categories_id = cd.categories_id WHERE c.categories_status = '1' and cd.language_id = ".$_SESSION['languages_id']
      ." and c.parent_id = '0' ".$group_check." order by c.sort_order ASC, c.categories_id DESC limit ".MAX_DISPLAY_CATEGORIES_PER_ROW."";

 // db Cache
 $categories_query = vamDBquery($categories_query);
 $module_content = array();
 while ($categories = vam_db_fetch_array($categories_query,true)) {
   
   $SEF_link = vam_href_link(FILENAME_DEFAULT, vam_category_link($categories['categories_id'],$categories['categories_name']));
 
   $module_content[]=array('ID'  => $categories['categories_id'],
                           'CATEGORIES_NAME'  => $categories['categories_name'],
                           'CATEGORIES_DESCRIPTION'  => $categories['categories_description'],
                           'CATEGORIES_IMAGE' => ($categories['categories_image'] == '' ) ? DIR_WS_IMAGES . 'product_images/noimage.gif' : DIR_WS_IMAGES . 'categories/' . $categories['categories_image'],
                           'CATEGORIES_LINK'  => $SEF_link
                           
			   //'SCATS'  => get_category_tree($categories['categories_id'], '',0)
			   
			   );
 }

 // if there's sth -> assign it
 if (sizeof($module_content)>=1)
 {
 $module->assign('SITEMAP_LINK', vam_href_link(FILENAME_DEFAULT, 'cat=0'));
 $module->assign('language', $_SESSION['language']);
 $module->assign('module_content',$module_content);
 // set cache ID
 if (!CacheCheck()) {
 $module->caching = 0;
 $module = $module->fetch(CURRENT_TEMPLATE.'/module/sitemap.html');
 } else {
 $module->caching = 1;
 $module->cache_lifetime=CACHE_LIFETIME;
 $module->cache_modified_check=CACHE_CHECK;
 $cache_id = $GET['cPath'].$_SESSION['language'].$_SESSION['customers_status']['customers_status_name'].$_SESSION['currency'];
 $module = $module->fetch(CURRENT_TEMPLATE.'/module/sitemap.html',$cache_id);
 }
 	$default->assign('MODULE_sitemap', $module);
 }
?>

 

Screenshot from 2019-08-13 17-25-41.png

 

У меня всё работает.

В /templates/vamshop1/source/boxes.php в самом низу добавил: 

include(DIR_WS_MODULES . 'sitemap_all.php');

и вот файл /includes/modules/sitemap_all.php

sitemap_all.php

8 минут назад, pal-palich сказал:

Саш, в самом низу в файле как ты сказал я поменял. Вот код из файла sitemap_all.php



 

Где поменяли?!

Если у Вас внизу: $default->assign('MODULE_sitemap', $module);

Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, support сказал:

Screenshot from 2019-08-13 17-25-41.png

 

У меня всё работает.

В /templates/vamshop1/source/boxes.php в самом низу добавил:  


include(DIR_WS_MODULES . 'sitemap_all.php');

и вот файл /includes/modules/sitemap_all.php

sitemap_all.php

Все равно не работает.

Вот код из файла boxes.php

<?php
/* -----------------------------------------------------------------------------------------
   $Id: boxes.php 1298 2007-02-07 12:30:44 VaM $   

   VaM Shop - open source ecommerce solution
   http://vamshop.ru
   http://vamshop.com

   Copyright (c) 2007 VaM Shop
   -----------------------------------------------------------------------------------------
   based on: 
   (c) 2004	 xt:Commerce (boxes.php,v 1.4 2003/08/13); xt-commerce.com 

   Released under the GNU General Public License 
   ---------------------------------------------------------------------------------------*/

  define('DIR_WS_BOXES',DIR_FS_CATALOG .'templates/'.CURRENT_TEMPLATE. '/source/boxes/');

  if (SET_BOX_FILTERS == 'true') include(DIR_WS_BOXES . 'products_filter.php');

  if (SET_BOX_AFFILIATE == 'true') include(DIR_WS_BOXES . 'affiliate.php');
  if (SET_BOX_CATEGORIES == 'true') include(DIR_WS_BOXES . 'categories.php');
  if (SET_BOX_AUTHORS == 'true') include(DIR_WS_BOXES . 'authors.php');
  if (SET_BOX_ARTICLES == 'true') include(DIR_WS_BOXES . 'articles.php');
  if (SET_BOX_ARTICLESNEW == 'true') include(DIR_WS_BOXES . 'articles_new.php');
  if (SET_BOX_MANUFACTURERS == 'true') include(DIR_WS_BOXES . 'manufacturers.php');
  if ($_SESSION['customers_status']['customers_status_show_price']!='0') {
  if (SET_BOX_ADD_QUICKIE == 'true') require(DIR_WS_BOXES . 'add_a_quickie.php');
  }
  if (SET_BOX_LAST_VIEWED == 'true') require(DIR_WS_BOXES . 'last_viewed.php');
   if (substr(basename($PHP_SELF), 0,8) != 'advanced') { if (SET_BOX_WHATSNEW == 'true') require(DIR_WS_BOXES . 'whats_new.php'); }
  if (SET_BOX_SEARCH == 'true') require(DIR_WS_BOXES . 'search.php');
  if (SET_BOX_CONTENT == 'true') require(DIR_WS_BOXES . 'content.php');
  if (SET_BOX_INFORMATION == 'true') require(DIR_WS_BOXES . 'information.php');
  if (SET_BOX_LATESTNEWS == 'true') include(DIR_WS_BOXES . 'news.php');
  if (SET_BOX_FAQ == 'true') include(DIR_WS_BOXES . 'faq.php');
  if (SET_BOX_LANGUAGES == 'true') include(DIR_WS_BOXES . 'languages.php');
  if ($_SESSION['customers_status']['customers_status_id'] == 0) { if (SET_BOX_ADMIN == 'true') include(DIR_WS_BOXES . 'admin.php'); }
  if (SET_BOX_INFOBOX == 'true') require(DIR_WS_BOXES . 'infobox.php');
  if (SET_BOX_LOGIN == 'true') require(DIR_WS_BOXES . 'loginbox.php');
  if (SET_BOX_NEWSLETTER == 'true')  include(DIR_WS_BOXES . 'newsletter.php');
  if (substr(basename($PHP_SELF), 0,13) != 'shopping_cart') { if ($_SESSION['customers_status']['customers_status_show_price'] == 1) { if (SET_BOX_CART == 'true') include(DIR_WS_BOXES . 'shopping_cart.php'); } }
  if ($product->isProduct()) { if (SET_BOX_MANUFACTURERS_INFO == 'true') include(DIR_WS_BOXES . 'manufacturer_info.php'); }

  if (isset($_SESSION['customer_id'])) { include(DIR_WS_BOXES . 'order_history.php'); }

  if (!$product->isProduct()) {
    if (SET_BOX_BESTSELLERS == 'true') include(DIR_WS_BOXES . 'best_sellers.php');
  }

  if (!$product->isProduct()) {
    if (SET_BOX_SPECIALS == 'true') include(DIR_WS_BOXES . 'specials.php');
  }

  if (!$product->isProduct()) {
    if (SET_BOX_FEATURED == 'true') include(DIR_WS_BOXES . 'featured.php');
  }

  if ($_SESSION['customers_status']['customers_status_read_reviews'] == 1) { if (SET_BOX_REVIEWS == 'true') require(DIR_WS_BOXES . 'reviews.php'); }

  if (substr(basename($PHP_SELF), 0, 8) != 'checkout') {

    if (SET_BOX_CURRENCIES == 'true') include(DIR_WS_BOXES . 'currencies.php');
  }

  if (SET_BOX_DOWNLOADS == 'true') include(DIR_WS_BOXES . 'download.php');

$vamTemplate->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');
include(DIR_WS_MODULES . 'sitemap_all.php');
?>

 

Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, pal-palich сказал:

Все равно не работает.

Вот код из файла boxes.php


<?php
/* -----------------------------------------------------------------------------------------
   $Id: boxes.php 1298 2007-02-07 12:30:44 VaM $   

   VaM Shop - open source ecommerce solution
   http://vamshop.ru
   http://vamshop.com

   Copyright (c) 2007 VaM Shop
   -----------------------------------------------------------------------------------------
   based on: 
   (c) 2004	 xt:Commerce (boxes.php,v 1.4 2003/08/13); xt-commerce.com 

   Released under the GNU General Public License 
   ---------------------------------------------------------------------------------------*/

  define('DIR_WS_BOXES',DIR_FS_CATALOG .'templates/'.CURRENT_TEMPLATE. '/source/boxes/');

  if (SET_BOX_FILTERS == 'true') include(DIR_WS_BOXES . 'products_filter.php');

  if (SET_BOX_AFFILIATE == 'true') include(DIR_WS_BOXES . 'affiliate.php');
  if (SET_BOX_CATEGORIES == 'true') include(DIR_WS_BOXES . 'categories.php');
  if (SET_BOX_AUTHORS == 'true') include(DIR_WS_BOXES . 'authors.php');
  if (SET_BOX_ARTICLES == 'true') include(DIR_WS_BOXES . 'articles.php');
  if (SET_BOX_ARTICLESNEW == 'true') include(DIR_WS_BOXES . 'articles_new.php');
  if (SET_BOX_MANUFACTURERS == 'true') include(DIR_WS_BOXES . 'manufacturers.php');
  if ($_SESSION['customers_status']['customers_status_show_price']!='0') {
  if (SET_BOX_ADD_QUICKIE == 'true') require(DIR_WS_BOXES . 'add_a_quickie.php');
  }
  if (SET_BOX_LAST_VIEWED == 'true') require(DIR_WS_BOXES . 'last_viewed.php');
   if (substr(basename($PHP_SELF), 0,8) != 'advanced') { if (SET_BOX_WHATSNEW == 'true') require(DIR_WS_BOXES . 'whats_new.php'); }
  if (SET_BOX_SEARCH == 'true') require(DIR_WS_BOXES . 'search.php');
  if (SET_BOX_CONTENT == 'true') require(DIR_WS_BOXES . 'content.php');
  if (SET_BOX_INFORMATION == 'true') require(DIR_WS_BOXES . 'information.php');
  if (SET_BOX_LATESTNEWS == 'true') include(DIR_WS_BOXES . 'news.php');
  if (SET_BOX_FAQ == 'true') include(DIR_WS_BOXES . 'faq.php');
  if (SET_BOX_LANGUAGES == 'true') include(DIR_WS_BOXES . 'languages.php');
  if ($_SESSION['customers_status']['customers_status_id'] == 0) { if (SET_BOX_ADMIN == 'true') include(DIR_WS_BOXES . 'admin.php'); }
  if (SET_BOX_INFOBOX == 'true') require(DIR_WS_BOXES . 'infobox.php');
  if (SET_BOX_LOGIN == 'true') require(DIR_WS_BOXES . 'loginbox.php');
  if (SET_BOX_NEWSLETTER == 'true')  include(DIR_WS_BOXES . 'newsletter.php');
  if (substr(basename($PHP_SELF), 0,13) != 'shopping_cart') { if ($_SESSION['customers_status']['customers_status_show_price'] == 1) { if (SET_BOX_CART == 'true') include(DIR_WS_BOXES . 'shopping_cart.php'); } }
  if ($product->isProduct()) { if (SET_BOX_MANUFACTURERS_INFO == 'true') include(DIR_WS_BOXES . 'manufacturer_info.php'); }

  if (isset($_SESSION['customer_id'])) { include(DIR_WS_BOXES . 'order_history.php'); }

  if (!$product->isProduct()) {
    if (SET_BOX_BESTSELLERS == 'true') include(DIR_WS_BOXES . 'best_sellers.php');
  }

  if (!$product->isProduct()) {
    if (SET_BOX_SPECIALS == 'true') include(DIR_WS_BOXES . 'specials.php');
  }

  if (!$product->isProduct()) {
    if (SET_BOX_FEATURED == 'true') include(DIR_WS_BOXES . 'featured.php');
  }

  if ($_SESSION['customers_status']['customers_status_read_reviews'] == 1) { if (SET_BOX_REVIEWS == 'true') require(DIR_WS_BOXES . 'reviews.php'); }

  if (substr(basename($PHP_SELF), 0, 8) != 'checkout') {

    if (SET_BOX_CURRENCIES == 'true') include(DIR_WS_BOXES . 'currencies.php');
  }

  if (SET_BOX_DOWNLOADS == 'true') include(DIR_WS_BOXES . 'download.php');

$vamTemplate->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');
include(DIR_WS_MODULES . 'sitemap_all.php');
?>

 

Я ж прицепил все рабочие файлы.

Вы вот код sitemap_all.php своего показали, видно же внизу, что не заменили $default на $vamTemplate

Ссылка на сообщение
Поделиться на другие сайты

Получается, что это не работает только на главной странице. На всех остальных страницах все выводится и магазин функционирует нормально. При переходе на главную все пропадает и становится белая страница. Отображение ошибок php включено, но ничего не показывается

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, pal-palich сказал:

Получается, что это не работает только на главной странице. На всех остальных страницах все выводится и магазин функционирует нормально. При переходе на главную все пропадает и становится белая страница. Отображение ошибок php включено, но ничего не показывается

Да, на главной не работает. Только заметил.

Тогда в /templates/vamshop1/source/boxes.php можно попробовать добавить условие, что б не подключать на главную файл sitemap_all.php

Например так:

if ($_SERVER['REQUEST_URI'] != '/') {
include(DIR_WS_MODULES . 'sitemap_all.php');
}

Тогда, по идее, всё будет нормально.

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, support сказал:

Да, на главной не работает. Только заметил.

Тогда в /templates/vamshop1/source/boxes.php можно попробовать добавить условие, что б не подключать на главную файл sitemap_all.php

Например так:


if ($_SERVER['REQUEST_URI'] != '/') {
include(DIR_WS_MODULES . 'sitemap_all.php');
}

Тогда, по идее, всё будет нормально.

Да, все работает. Спасибо.

Ссылка на сообщение
Поделиться на другие сайты

Не за что.

Но такой вариант условия работает только если магазин в домене установлен, а если в папке, напримре домен.ру/shop

То тут уже надо будет писать /shop в условии.

 

1 час назад, pal-palich сказал:

Да, все работает. Спасибо.

 

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...