Русский OsCommerce

Здравствуйте, гость ( Вход | Регистрация )

 Правила форума Правила форума
 
Ответить в данную темуНачать новую тему
> Вывод товаров из подкатегорий.
orik
сообщение 24.11.2006, 10:53
Сообщение #1


Участник обсуждения
Иконка группы

Группа: Members
Сообщений: 82
Регистрация: 24.6.2005
Пользователь №: 5355



Необходимо что бы при входе в раздел "Шары" открывались все товары из существющих подразделов "Синие шары" и "Красные шары". Как можно это осуществить? Сейчас если заходишь в шары, то открывается модуль последние поступления из всех шаров, и две подгатегории. Контрибуты на офф сайте искал, близко только AllProducts но это не то, ничего более подходящего не видел. Все вопросы похожие либо помирали не отвеченными, либо человека отправляли читать не подходящий форум.
Помогите советом пожалуйста.

Сообщение отредактировал orik - 24.11.2006, 13:02
Перейти в начало страницы
 
+Цитировать сообщение
orik
сообщение 27.11.2006, 13:46
Сообщение #2


Участник обсуждения
Иконка группы

Группа: Members
Сообщений: 82
Регистрация: 24.6.2005
Пользователь №: 5355



никому не требовалось подобное?=(
Перейти в начало страницы
 
+Цитировать сообщение
Незнама
сообщение 27.11.2006, 21:14
Сообщение #3


Profi
Иконка группы

Группа: Members
Сообщений: 1489
Регистрация: 25.5.2004
Из: Moscow, Раша
Пользователь №: 1630
Имя, Фамилия: Дмитрий Годунов



parent_id
Перейти в начало страницы
 
+Цитировать сообщение
orik
сообщение 28.11.2006, 9:47
Сообщение #4


Участник обсуждения
Иконка группы

Группа: Members
Сообщений: 82
Регистрация: 24.6.2005
Пользователь №: 5355



извините а можно чуточку подробнее?
Перейти в начало страницы
 
+Цитировать сообщение
orik
сообщение 29.11.2006, 12:53
Сообщение #5


Участник обсуждения
Иконка группы

Группа: Members
Сообщений: 82
Регистрация: 24.6.2005
Пользователь №: 5355



И так, с грехом пополам я смог переделать и доделать найденный код на офф форуме. вот он:

В index.php ищем:
Код
    while ($categories = tep_db_fetch_array($categories_query)) {
      $rows++;
      $cPath_new = tep_get_path($categories['categories_id']);
      $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
      echo '                <td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . '</a></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";
      }
    }


И заменяем на:
Код
//Show SubCategory products in Parent Category Start
$define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,
'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,
'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,
'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,
'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,
'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,
'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE,
'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);

asort($define_list);

$column_list = array();
reset($define_list);
while (list($key, $value) = each($define_list)) {
if ($value > 0) $column_list[] = $key;
}

$select_column_list = '';
for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
switch ($column_list[$i]) {
case 'PRODUCT_LIST_MODEL':
$select_column_list .= 'p.products_model, ';
break;
case 'PRODUCT_LIST_NAME':
$select_column_list .= 'pd.products_name, ';
break;
case 'PRODUCT_LIST_MANUFACTURER':
$select_column_list .= 'm.manufacturers_name, ';
break;
case 'PRODUCT_LIST_QUANTITY':
$select_column_list .= 'p.products_quantity, ';
break;
case 'PRODUCT_LIST_IMAGE':
$select_column_list .= 'p.products_image, ';
break;
case 'PRODUCT_LIST_WEIGHT':
$select_column_list .= 'p.products_weight, ';
break;
}
}

while($categories = tep_db_fetch_array($categories_query)) {
$rows++;
$cPath_new = tep_get_path($categories['categories_id']);
$width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
echo ' <td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . '</a></td>' . "\n";

echo ' </tr>' . "\n";
echo ' <tr>' . "\n";

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from ((" . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p) left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$categories['categories_id']. "'";

echo '<td>';
include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING);
echo '</td>';
echo ' </tr>' . "\n";

}
//Show SubCategory products in Parent Category End


А теперь подскажите мне как показывать товары из подподкатегорий, а не из подкатегорий просто?
Перейти в начало страницы
 
+Цитировать сообщение
-=SerG=-
сообщение 29.4.2007, 19:59
Сообщение #6


Новичек
Иконка группы

Группа: Members
Сообщений: 10
Регистрация: 5.4.2006
Из: Тольятти
Пользователь №: 11474



огромное тебе человеческое спасибо за то что поделился в конце решением .. выручил!
Перейти в начало страницы
 
+Цитировать сообщение
ho4u_pizzu
сообщение 7.8.2007, 8:17
Сообщение #7


Новичек
Иконка группы

Группа: Members
Сообщений: 39
Регистрация: 8.2.2007
Пользователь №: 18646
Имя, Фамилия: Андрей Дубинин
Откуда:Украина



Не знаю, поможет ли в моей ситуации, но заранее спасибо........давно искал ответ
Перейти в начало страницы
 
+Цитировать сообщение
dabserver
сообщение 8.8.2007, 0:22
Сообщение #8


Активный форумчанин
Иконка группы

Группа: Members
Сообщений: 385
Регистрация: 15.4.2005
Пользователь №: 4628



сколько всего тут интересненького скопилось smile.gif .....
надо будет опробовать, хотя сходу не понятно почему только в index изменения, без изменений products_listing ....
Перейти в начало страницы
 
+Цитировать сообщение
Yurg
сообщение 8.8.2007, 3:55
Сообщение #9


Profi
Иконка группы

Группа: Members
Сообщений: 1049
Регистрация: 12.10.2005
Из: Эйндховен
Пользователь №: 6726
Имя, Фамилия: Юрий



Цитата(dabserver @ 8.8.2007, 1:22) *
сколько всего тут интересненького скопилось smile.gif .....
надо будет опробовать, хотя сходу не понятно почему только в index изменения, без изменений products_listing ....

Потому, что products_listing к выводу категорий никакого отношения не имеет, это модуль, который интегрируется в index.php
Перейти в начало страницы
 
+Цитировать сообщение
dabserver
сообщение 8.8.2007, 6:33
Сообщение #10


Активный форумчанин
Иконка группы

Группа: Members
Сообщений: 385
Регистрация: 15.4.2005
Пользователь №: 4628



Цитата(Yurg @ 8.8.2007, 5:55) *
Потому, что products_listing к выводу категорий никакого отношения не имеет, это модуль, который интегрируется в index.php

мы тут разве не товары вместе с подкатегориями выводим? smile.gif и кого больше? подкатегорий или товаров в них? а кусок кода приведенный здесь - разве не кусок продукт листинга?
- имхо по хорошему это лучше реализовывать в продукт листинге, хотя разумеется без правки индекса тоже не обойтись
Перейти в начало страницы
 
+Цитировать сообщение
dabserver
сообщение 12.2.2008, 23:17
Сообщение #11


Активный форумчанин
Иконка группы

Группа: Members
Сообщений: 385
Регистрация: 15.4.2005
Пользователь №: 4628



эх, для product listing multi не подойдет sad.gif - если я всё правильно понял - то кол-во запросов к базе возрастает в N кол-во выводимых подкатегорий..., похоже под себя надо делать самому.

если не сложно - дайте плиз оценку разумности такого подхода - вынести $listing_sql в отдельный модуль, реализовав его следующим образом - брать в выборку имена подкатегорий и их подкатегорий как строки выборки, адаптировать под это дело productListingBox() и product_listing.php, всем этим чудом заменить (адаптировать под сие) new_products, advanced_search, содержимое корзины . . .
... что то меня понесло ...
проще наверно под product listing multi из него куда следует открытие закрытие формы перенести и фиг с ним, с кол-вом запросов .... или покопать Union Query Product Listing от Chemo ...

кто что посоветует? (в смысле хочется сабжа, но красивше, универсальнее и повсеместно smile.gif )
Перейти в начало страницы
 
+Цитировать сообщение
modus
сообщение 15.2.2008, 0:41
Сообщение #12


Активный форумчанин
Иконка группы

Группа: Members
Сообщений: 165
Регистрация: 9.8.2005
Пользователь №: 5782



Цитата(orik @ 24.11.2006, 11:53) *
Необходимо что бы при входе в раздел "Шары" открывались все товары из существющих подразделов "Синие шары" и "Красные шары". Как можно это осуществить? Сейчас если заходишь в шары, то открывается модуль последние поступления из всех шаров, и две подгатегории. Контрибуты на офф сайте искал, близко только AllProducts но это не то, ничего более подходящего не видел. Все вопросы похожие либо помирали не отвеченными, либо человека отправляли читать не подходящий форум.
Помогите советом пожалуйста.


Мне кажется разумно использовать на такой/этой странице путь обращения к жестко прописанному коду фильтра поисковой системы (этого же скрипта) с явно указанными параметрами поиска и обратным путём вывода на в нужную таблицу страницы.

Дай точную ссылку на свои шары... попробую на досуге
Перейти в начало страницы
 
+Цитировать сообщение
nikolaermak
сообщение 28.10.2013, 11:51
Сообщение #13


Новичек
Иконка группы

Группа: Members
Сообщений: 6
Регистрация: 20.9.2011
Пользователь №: 49461
Откуда:Москва



Цитата(orik @ 29.11.2006, 12:53) *
И так, с грехом пополам я смог переделать и доделать найденный код на офф форуме. вот он:

В index.php ищем:
Код
    while ($categories = tep_db_fetch_array($categories_query)) {
      $rows++;
      $cPath_new = tep_get_path($categories['categories_id']);
      $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
      echo '                <td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . '</a></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";
      }
    }


И заменяем на:
Код
//Show SubCategory products in Parent Category Start
$define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,
'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,
'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,
'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,
'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,
'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,
'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE,
'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);

asort($define_list);

$column_list = array();
reset($define_list);
while (list($key, $value) = each($define_list)) {
if ($value > 0) $column_list[] = $key;
}

$select_column_list = '';
for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
switch ($column_list[$i]) {
case 'PRODUCT_LIST_MODEL':
$select_column_list .= 'p.products_model, ';
break;
case 'PRODUCT_LIST_NAME':
$select_column_list .= 'pd.products_name, ';
break;
case 'PRODUCT_LIST_MANUFACTURER':
$select_column_list .= 'm.manufacturers_name, ';
break;
case 'PRODUCT_LIST_QUANTITY':
$select_column_list .= 'p.products_quantity, ';
break;
case 'PRODUCT_LIST_IMAGE':
$select_column_list .= 'p.products_image, ';
break;
case 'PRODUCT_LIST_WEIGHT':
$select_column_list .= 'p.products_weight, ';
break;
}
}

while($categories = tep_db_fetch_array($categories_query)) {
$rows++;
$cPath_new = tep_get_path($categories['categories_id']);
$width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
echo ' <td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . '</a></td>' . "\n";

echo ' </tr>' . "\n";
echo ' <tr>' . "\n";

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from ((" . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p) left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$categories['categories_id']. "'";

echo '<td>';
include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING);
echo '</td>';
echo ' </tr>' . "\n";

}
//Show SubCategory products in Parent Category End


А теперь подскажите мне как показывать товары из подподкатегорий, а не из подкатегорий просто?

а у меня выдается ошибка Fatal error: Cannot redeclare sts_module_product_listing_listing_template()
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 10.7.2020, 21:15