Голосование

Для каких целей Вы используете русскоязычный osCommerce 3.0 (RuBiC)?

Для создания своего интернет-магазина
316 (76.1%)
Для изготовления интернет-магазинов другим людям на заказ
24 (5.8%)
Для своего интернет-магазина и для изготовления интернет-магазинов другим людям на заказ
28 (6.7%)
Для ознакомления и не более
41 (9.9%)
Мне не интересен этот скрипт
6 (1.4%)

Проголосовало пользователей: 37

*

Love

Тогда другой вопрос а как сделать что бы категории отображались на странийе
На какой странице? Они вроде везде отображаются где надо.

Тут 2 снимка один как у меня другой как должно быть. Не отображаются категории нижнего уровня со значками. И что с этим сделать.

*

Love

Тут 2 снимка один как у меня другой как должно быть. Не отображаются категории нижнего уровня со значками. И что с этим сделать.
А товары есть в этих подкатегориях?

Да есть полно, когда включаешь Вычислять количество товаров в каждой категории
Рекурсивное вычисление количества товаров, находящихся в каждой категории. Тогда всё нормально. Но при большом количестве товара всё становиться колом и перестаёт работать.

*

Love

Покажите файл templates\ваш_шаблон\content\index\category_listing.php

<?php
/*
  $Id: $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2006 osCommerce

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License v2 (1991)
  as published by the Free Software Foundation.
*/
?>

<?php if (file_exists('images/' $osC_Template->getPageImage()) == true) {
echo 
osc_image(DIR_WS_IMAGES $osC_Template->getPageImage(), $osC_Template->getPageTitle(), HEADING_IMAGE_WIDTHHEADING_IMAGE_HEIGHT'id="pageIcon"');
} else {}
?>


<h1><?php echo $osC_Template->getPageTitle(); ?></h1>

<table border="0" width="100%" cellspacing="0" cellpadding="2">
  <tr>

<?php
    
if (isset($cPath) && strpos($cPath'_')) {
// check to see if there are deeper categories within the current category
      
$category_links array_reverse($cPath_array);
      for(
$i=0$n=sizeof($category_links); $i<$n$i++) {
        
$Qcategories $osC_Database->query('select count(*) as total from :table_categories c, :table_categories_description cd where c.parent_id = :parent_id and c.categories_id = cd.categories_id and cd.language_id = :language_id');
        
$Qcategories->bindTable(':table_categories'TABLE_CATEGORIES);
        
$Qcategories->bindTable(':table_categories_description'TABLE_CATEGORIES_DESCRIPTION);
        
$Qcategories->bindInt(':parent_id'$category_links[$i]);
        
$Qcategories->bindInt(':language_id'$osC_Language->getID());
        
$Qcategories->execute();

        if (
$Qcategories->valueInt('total') < 1) {
          
// do nothing, go through the loop
        
} else {
          
$Qcategories $osC_Database->query('select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from :table_categories c, :table_categories_description cd where c.parent_id = :parent_id and c.categories_id = cd.categories_id and cd.language_id = :language_id order by sort_order, cd.categories_name');
          
$Qcategories->bindTable(':table_categories'TABLE_CATEGORIES);
          
$Qcategories->bindTable(':table_categories_description'TABLE_CATEGORIES_DESCRIPTION);
          
$Qcategories->bindInt(':parent_id'$category_links[$i]);
          
$Qcategories->bindInt(':language_id'$osC_Language->getID());
          
$Qcategories->execute();
          break; 
// we've found the deepest category the customer is in
        
}
      }
    } else {
      
$Qcategories $osC_Database->query('select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from :table_categories c, :table_categories_description cd where c.parent_id = :parent_id and c.categories_id = cd.categories_id and cd.language_id = :language_id order by sort_order, cd.categories_name');
      
$Qcategories->bindTable(':table_categories'TABLE_CATEGORIES);
      
$Qcategories->bindTable(':table_categories_description'TABLE_CATEGORIES_DESCRIPTION);
      
$Qcategories->bindInt(':parent_id'$current_category_id);
      
$Qcategories->bindInt(':language_id'$osC_Language->getID());
      
$Qcategories->execute();
    }

    
$number_of_categories $Qcategories->numberOfRows();

    
$rows 0;
    while (
$Qcategories->next()) {
if($osC_CategoryTree->getNumberOfProducts($Qcategories->valueInt('categories_id'))>0){
      
$rows++;
if(
$osC_CategoryTree->getNumberOfProducts($Qcategories->valueInt('categories_id'))>0){
      
$width = (int)(100 MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
      if (
file_exists('images/categories/' .$Qcategories->value('categories_image')) == $Qcategories->value('categories_image')) {
      echo 
'    <td align="center" class="smallText" width="' $width '" valign="top">' osc_link_object(osc_href_link(FILENAME_DEFAULT'cPath=' $osC_CategoryTree->buildBreadcrumb($Qcategories->valueInt('categories_id'))), osc_image(DIR_WS_IMAGES 'categories/' $Qcategories->value('categories_image'), $Qcategories->value('categories_name')) . '<br />' $Qcategories->value('categories_name')) . '</td>' "\n";
      } else {
      echo 
'    <td align="center" class="smallText" width="' $width '" valign="top">' osc_link_object(osc_href_link(FILENAME_DEFAULT'cPath=' $osC_CategoryTree->buildBreadcrumb($Qcategories->valueInt('categories_id'))), $Qcategories->value('categories_name')) . '</td>' "\n";
      }
      if (((
$rows MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) {
        echo 
'  </tr>' "\n";
        echo 
'  <tr>' "\n";
      }}}
    }
?>


  </tr>
</table>

« Последнее редактирование: 02 Мар 2011 17:14:51 pm от musicman »
*

Love

Не знаю почему у вас не работает.
Удалите обе строчки
if($osC_CategoryTree->getNumberOfProducts($Qcategories->valueInt('categories_id'))>0){
и соответсвенно в самом низу две скобки }}

Разобрался. Надо потом будет дописать условие, если рекурсия выключена, показывать все категории.

Спасибо помогло

Подскажите, это только у меня такое? Пример: по умолчанию стоит валюта доллар. Клиент при заказе товара выбирает валюту гривна. Сумма в заказе тоже отображается в гривне. Нажимаю на кнопку "Счет" в админке - получаю "солянку" из цен как в долларах, так и в гривне (рис.1). Если оформлять заказ в долларах (т.е. в валюте по-умолчанию), то все нормально.

Пофиксено в 290 ревизии.

Либо качайте 293 версию

Спасибо за помощь

« Последнее редактирование: 09 Мар 2018 19:48:50 pm от Spido »

Понял, спасибо. Просто ревизии выходят чаще, чем я успеваю их скачивать и ставить на сервер 
(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

Подскажите, кстати, а как правильно устанавливать новые ревизии на готовый магазин (обновлять)?

*

Love

Понял, спасибо. Просто ревизии выходят чаще, чем я успеваю их скачивать и ставить на сервер 
(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

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

в 293 ревизии сделана загрузка картинок к товару без перезагрузки страницы хоть по 100 картинок за раз - так что может имеет смысл обновиться 
(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

Сделаны превьюшки для картинок на странице описания товара в 299 ревизии. Скриншот прикреплен.

в 293 ревизии сделана загрузка картинок к товару без перезагрузки страницы хоть по 100 картинок за раз - так что может имеет смысл обновиться 
(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

А нельзя сделать, чтобы при добавлении нового товара картинки тоже загружались без перезагрузки?
При добавлении картинок в уже созданный товар, все работает как часы.