Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Нужен помощь в php

$special_query = os_db_query("SELECT p.products_id, pd.products_name, p.products_image, p.products_tax_class_id, p.products_price
                                  FROM products_to_categories ptc, categories_description cd, products p, products_description pd
                                  WHERE cd.categories_name='?? что здесь'
                                  AND cd.language_id=2
                                  AND ptc.categories_id=cd.categories_id
                                  AND p.products_id=ptc.products_id
                                  AND pd.products_id=p.products_id
                                  AND pd.language_id='".$_SESSION['languages_id']."'");


    if (os_db_num_rows($special_query)) {
        $module_content = array ();
        while ($special = os_db_fetch_array($special_query)) {
            $special_image = '<a href="'.os_href_link(basename($PHP_SELF), os_get_all_get_params(array ('action')).'action=buy_now&BUYproducts_id='.$special['products_id'], 'NONSSL').'">'.os_image(DIR_WS_THUMBNAIL_IMAGES.$special['products_image'], $special['products_name']).'</a>';
            $special_buy_now = '<a href="'.os_href_link(basename($PHP_SELF), os_get_all_get_params(array ('action')).'action=buy_now&BUYproducts_id='.$special['products_id'], 'NONSSL').'">'.os_image_button('button_buy_now.gif', TEXT_BUY.$special['products_name'].TEXT_NOW).'</a>';
            $module_content[] = array ('SPECIAL_NAME' => $special['products_name'], 'SPECIAL_ID' => $special['products_id'], 'SPECIAL_IMAGE' => $special_image, 'SPECIAL_PRICE' => $osPrice->osGetPrice($special['products_id'], $format = true, 1, $special['products_tax_class_id'], $special['products_price']), 'SPECIAL_BUY_NOW' => $special_buy_now);
        }
    } else {
        $module_content = false;
    }

    $osTemplate->assign('module_content', $module_content);
Пишу Cart не получается, Корзина тоже  :) , что не так?
Спасибо.


Объясню что я делаю!
Сделаю вот такую штуку, назовем его "Удобная корзина" :)
Нужен помощь в php
Что я сделал!

includes/cart_actions.php

case 'update_product' :

            for ($i = 0, $n = sizeof($_POST['products_id']); $i < $n; $i++) {
                    if (in_array($_POST['products_id'], (is_array($_POST['cart_delete']) ? $_POST['cart_delete'] : array ()))) {
                    $_SESSION['cart']->remove($_POST['products_id']);
                } else {
                    if ((int)$_POST['cart_quantity'] > MAX_PRODUCTS_QTY)
                        $_POST['cart_quantity'] = MAX_PRODUCTS_QTY;
                    $attributes = ($_POST['id']]) ? $_POST['id']] : '';
                    $_SESSION['cart']->add_cart($_POST['products_id'], os_remove_non_numeric((int)$_POST['cart_quantity']), $attributes, false);
                }
            }
            os_redirect(os_href_link($goto, os_get_all_get_params($parameters)));
            break;
поменял
case 'update_product' :
            $_SESSION['alter'] = false;
            if (isset ($_POST['plus']) && array_sum($_POST['plus']) > 0) {
                foreach($_POST['plus'] as $key => $value) {
                    $attributes = ($_POST['id']]) ? $_POST['id']] : '';
                    $_SESSION['cart']->add_cart($_POST['products_id'], os_remove_non_numeric($_POST['cart_quantity'] + 1), $attributes, false);
                }
            } elseif (isset ($_POST['minus']) && array_sum($_POST['minus']) > 0) {
                foreach($_POST['minus'] as $key => $value) {
                    if ($_POST['cart_quantity'] == '1') {
                        $_SESSION['cart']->remove($_POST['products_id']);
                    } else {
                        $attributes = ($_POST['id']]) ? $_POST['id']] : '';
                        $_SESSION['cart']->add_cart($_POST['products_id'], os_remove_non_numeric($_POST['cart_quantity'] - 1), $attributes, false);
                    }
                }
            } elseif (isset ($_POST['delete']) && array_sum($_POST['delete']) > 0) {
                foreach($_POST['delete'] as $key => $value) {
                    $_SESSION['cart']->remove($_POST['products_id']);
                }
            } elseif (isset ($_POST['alter'])) {
                $_SESSION['alter'] = true;
                $_SESSION['alter_prod'] = $_POST['alter'];
            } elseif (isset ($_POST['attributes'])) {
              $temp=explode("-",$_POST['attributes']);
              $prod_id = $temp;
              $alt = $temp;
              $neu = $temp;
              $attr_id = $temp;
              $attributes = array($attr_id => $neu); //$_POST['id']] : '';
              $_SESSION['cart']->modify_attributes($_POST['products_id'], os_remove_non_numeric($_POST['cart_quantity']), $attributes, false);
            } else {
              for ($i = 0, $n = sizeof($_POST['products_id']); $i < $n; $i++) {
                if (in_array($_POST['products_id'], (is_array($_POST['cart_delete']) ? $_POST['cart_delete'] : array ()))) {
                  $_SESSION['cart']->remove($_POST['products_id']);

                  if (is_object($econda))
                    $econda->_delArticle($_POST['products_id'], $_POST['cart_quantity'], $_POST['old_qty']);

                } else {
                  if ($_POST['cart_quantity'] > MAX_PRODUCTS_QTY)
                    $_POST['cart_quantity'] = MAX_PRODUCTS_QTY;
                  $attributes = ($_POST['id']]) ? $_POST['id']] : '';

                  if (is_object($econda)) {
                    $old_quantity = $_SESSION['cart']->get_quantity(os_get_uprid($_POST['products_id'], $_POST['id']));
                    $econda->_updateProduct($_POST['products_id'], $_POST['cart_quantity'], $old_quantity);
                  }

                  $_SESSION['cart']->add_cart($_POST['products_id'], os_remove_non_numeric($_POST['cart_quantity']), $attributes, false);
                }
              }
            }
            os_redirect(os_href_link($goto, os_get_all_get_params($parameters)));
            break;

themes/default/module/order_details.html

<td class="main" style="border-bottom: 1px solid; border-color: #cccccc;" align="center"><strong>{#text_qty#}</strong></td>

заменой
<td class="main" style="border-bottom: 1px solid; border-color: #cccccc;" align="center" colspan="3"><strong>{#text_qty#}</strong></td>


<tr>
  <td colspan="6"></td>
</tr>

заменой
<tr>
  <td colspan="8"></td>
</tr>


<td valign="top" class="main" align="center">{$module_data.PRODUCTS_QTY}</td>

заменой
<td valign="top" class="main" align="center" width="21">{$module_data.MINUS}</td>
<td valign="top" class="main" align="center">{$module_data.PRODUCTS_QTY}</td>
<td valign="top" class="main" align="center" width="21">{$module_data.PLUS}</td>


<td class="main">{$item_data.NAME}:</td>
<td class="main" align="left">{$item_data.VALUE_NAME}</td>

заменой
<td class="main" align="left" width="1%">{$item_data.ALTER}</td>


themes/default/module/shopping_cart.php

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td class="main"> </td>
  </tr>
  <tr>
    <td>{$MODULE_order_details}</td>
  </tr>
  <tr>
    <td class="main"></td>
  </tr>
</table>

заменой
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td class="main"> </td>
    </tr>
    <tr>
      <td>{$MODULE_order_details}</td>
    </tr>
    <tr>
      <td class="main">
      {if $module_content}
        <table width="100%" border="0" background="{$tpl_path}img/bg_light_grey.gif" bgcolor="#EDEDED" class="main">
          <tr>
            {foreach name=aussen item=module_data from=$module_content}
              <td align="center">
                <table border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="100%" align="center" background="{$tpl_path}img/bg_light_grey.gif" bgcolor="#EDEDED" class="main"><strong>{$module_data.SPECIAL_NAME}</strong></td>
                  </tr>
                  <tr>
                    <td width="100%" align="center" background="{$tpl_path}img/bg_light_grey.gif" bgcolor="#EDEDED" class="main">{$module_data.SPECIAL_IMAGE}</td>
                  </tr>
                  <tr>
                    <td align="center" background="{$tpl_path}img/bg_light_grey.gif" bgcolor="#EDEDED" class="main" style="padding-top:3px;"><strong>{$module_data.SPECIAL_PRICE}</strong></td>
                  </tr>
                  <tr>
                    <td align="center" background="{$tpl_path}img/bg_light_grey.gif" bgcolor="#EDEDED" class="main">{$module_data.SPECIAL_BUY_NOW}</td>
                  </tr>
                </table>
              </td>
            {/foreach}
          </tr>
        </table>
        {/if}
      </td>
    </tr>
</table>


и style.css самом конце добавил
.alter {
display: block;
background-image: url(img/alter.gif);
background-repeat: no-repeat;
width: 13px;
height: 13px;
border: 0px;
font-size: 0px;
cursor: pointer;
}


Судя по названию темы, автор хотел задать вопрос.
А в тексте вопроса что-то не видно.


можно убрать cd.categories_name='?? что здесь'
там уже есть ptc.categories_id=cd.categories_id

и

AND cd.language_id=2

заменить на
AND cd.language_id='".$_SESSION['languages_id']."'


и после FROM у указанных таблиц чет префикса нету. ты убрал префикс при установке?

там кстати можно использовать TABLE_PRODUCTS_TO_CATEGORIES
т.е. FROM ".TABLE_PRODUCTS_TO_CATEGORIES."
список весь тут includes\database.php



Судя по названию темы, автор хотел задать вопрос.
А в тексте вопроса что-то не видно.

Да в первом посту я задал вопрос )))
Этот код должно было на странице корзины выводить атрибуты,
Я вчера долго и упорно хотел делать, но не получилось  :P 
Но получилось чуток другое, без атрибутов!
Нужен помощь в php


NeBox 2 посту  реализованный и рабочий вариант, без атрибутов.
По пробую сегодня реализовать до конца  :)


Источник



Copyright ShopOS