pal-palich 6 Posted August 13, 2019 Report Share Posted August 13, 2019 Всем привет. Можно ли как-то сделать, что бы каталог товаров с главной страницы был на всех страницах магазина? Link to post Share on other sites
support 447 Posted August 13, 2019 Report Share Posted August 13, 2019 18 минут назад, pal-palich сказал: Всем привет. Можно ли как-то сделать, что бы каталог товаров с главной страницы был на всех страницах магазина? Можно. Скопируйте файл /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} Link to post Share on other sites
pal-palich 6 Posted August 13, 2019 Author Report Share Posted August 13, 2019 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'); То сайт перестает работать. Никакой ошибки не выдает, просто белая страница. Link to post Share on other sites
support 447 Posted August 13, 2019 Report Share Posted August 13, 2019 3 часа назад, pal-palich сказал: Что-то не получается. Все делал по порядку. Шаблон не vamshop4 а vamshop1 Когда ставлю вот эту строчку в файле boxes.php include(DIR_WS_MODULES . 'sitemap_all.php'); То сайт перестает работать. Никакой ошибки не выдает, просто белая страница. Я ж прежде чем писать совет, попробовал его - всё работает. Если белая страница, значит какая-то ошибка. Включайте отображение ошибок - Link to post Share on other sites
pal-palich 6 Posted August 13, 2019 Author Report Share Posted August 13, 2019 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 Link to post Share on other sites
support 447 Posted August 13, 2019 Report Share Posted August 13, 2019 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, видимо. Link to post Share on other sites
pal-palich 6 Posted August 13, 2019 Author Report Share Posted August 13, 2019 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 Link to post Share on other sites
support 447 Posted August 13, 2019 Report Share Posted August 13, 2019 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 . ' ', $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); } ?> У меня всё работает. В /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); Link to post Share on other sites
pal-palich 6 Posted August 13, 2019 Author Report Share Posted August 13, 2019 4 минуты назад, support сказал: У меня всё работает. В /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'); ?> Link to post Share on other sites
support 447 Posted August 13, 2019 Report Share Posted August 13, 2019 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 Link to post Share on other sites
pal-palich 6 Posted August 14, 2019 Author Report Share Posted August 14, 2019 Получается, что это не работает только на главной странице. На всех остальных страницах все выводится и магазин функционирует нормально. При переходе на главную все пропадает и становится белая страница. Отображение ошибок php включено, но ничего не показывается Link to post Share on other sites
support 447 Posted August 14, 2019 Report Share Posted August 14, 2019 1 час назад, pal-palich сказал: Получается, что это не работает только на главной странице. На всех остальных страницах все выводится и магазин функционирует нормально. При переходе на главную все пропадает и становится белая страница. Отображение ошибок php включено, но ничего не показывается Да, на главной не работает. Только заметил. Тогда в /templates/vamshop1/source/boxes.php можно попробовать добавить условие, что б не подключать на главную файл sitemap_all.php Например так: if ($_SERVER['REQUEST_URI'] != '/') { include(DIR_WS_MODULES . 'sitemap_all.php'); } Тогда, по идее, всё будет нормально. Link to post Share on other sites
pal-palich 6 Posted August 14, 2019 Author Report Share Posted August 14, 2019 1 час назад, support сказал: Да, на главной не работает. Только заметил. Тогда в /templates/vamshop1/source/boxes.php можно попробовать добавить условие, что б не подключать на главную файл sitemap_all.php Например так: if ($_SERVER['REQUEST_URI'] != '/') { include(DIR_WS_MODULES . 'sitemap_all.php'); } Тогда, по идее, всё будет нормально. Да, все работает. Спасибо. Link to post Share on other sites
support 447 Posted August 14, 2019 Report Share Posted August 14, 2019 Не за что. Но такой вариант условия работает только если магазин в домене установлен, а если в папке, напримре домен.ру/shop То тут уже надо будет писать /shop в условии. 1 час назад, pal-palich сказал: Да, все работает. Спасибо. Link to post Share on other sites
Recommended Posts