Дополнительное поле в адмике (цена*курс)

Тема в разделе "Shop-script", создана пользователем v-i-k, 27 сен 2008.

Статус темы:
Закрыта.
Модераторы: kadurinho
  1. v-i-k

    v-i-k Создатель

    Регистр.:
    10 май 2008
    Сообщения:
    48
    Симпатии:
    0
    Нужна помощь... :bc:

    В админке, в каталоге товаров, там где отображаются списком товары...
    Вкл. | Код | Наименование | Рейтинг | Цена, у.е. | На складе |и т.д.

    нуна добавить еще одну колонку "Цена в руб."
    т.е. "Цена, у.е." умноженная на курс.

    шаблон catalog_products_categories.tpl.html

    Цена в у.е сидит тут {$products.Price}
    а где зарыта цена*курс ? {$products.???????}
     
  2. v-i-k

    v-i-k Создатель

    Регистр.:
    10 май 2008
    Сообщения:
    48
    Симпатии:
    0
    сделал по аналогии

    {$products.Price} - цена в у.е

    поковырялся в функциях и шаблонах, вроде как show_price выводит цену * курс = руб

    подставил
    {$products.show_price}

    нифига :(

    :bc::bc::bc:
     
  3. v-i-k

    v-i-k Создатель

    Регистр.:
    10 май 2008
    Сообщения:
    48
    Симпатии:
    0
    Народ, ну помогите плизззз!!
    или хоть подскажите че-нить полезное.
     
  4. Caurus

    Caurus

    Регистр.:
    21 фев 2008
    Сообщения:
    348
    Симпатии:
    285
    значит...вот... посмотрел профессию репортер по НТВ...там сказали, что если будем пить воду из под крана и вообще. То все сдохнем... выпил водички и решил сделать хорошее дело напоследок...:D:D:yahoo::yahoo:

    нам нужны 2 файла:

    1) includes/admin/sub/catalog_products_categories.php
    2) templates/backend/catalog_products_categories.tpl.html делаем копию на всякий...

    Итак:

    1) Заходим в catalog_products_categories.php идем в самый низ. Там перед ?> ставим этот код
    PHP:
            // устанавливаем валюту на которую будем умножать    
            
    $q db_query("SELECT currency_value FROM ".CURRENCY_TYPES_TABLE." WHERE CID=3") or die (db_error());
            
    $rowl=db_fetch_row($q);
            
    $smarty->assign('val',$rowl[0]);
    что б узнать какую цифру надо ставить в CID= нужно зайти в SS_currency_types в вашей базе и там зайти в Обзор
    там найди поле CID, и посмотреть какой номер у валюты, которую надо умножать на цену. Закрываем, сохраняем!

    2) Заходим в catalog_products_categories.tpl.html там находим
    PHP:
    <tr>
                                <
    td>
                                    <
    a href='{$urlToSort}&sort=Price&sort_dir=DESC'>
                                        <
    img SRC="./images/backend/arrow_down.gif" border=0>                                </a>                            </td>
                            </
    tr>
                        </
    table>                </td>
    после, ставим
    PHP:
    <td>Цена на курс</td>
    далее находим
    PHP:
    <td align=right>
                        <
    input type=text name=price_{$products[i].productID
                            
    size=
                            value
    ={$products[i].Price}>                </td>
    после, ставим
    PHP:
    <td align=right>{$products[i].Price*$val}</td>
    Усе..... Жмем кнопку Спасибо и помним хотя б неделю о хорошем деле....:ay::ah:
     
    baltazor-vova, rawman, 12qwerty12 и 9 другим нравится это.
  5. v-i-k

    v-i-k Создатель

    Регистр.:
    10 май 2008
    Сообщения:
    48
    Симпатии:
    0
    Благодарю мастера!
    Всё работает.
     
  6. vdi

    vdi Создатель

    Регистр.:
    23 янв 2008
    Сообщения:
    37
    Симпатии:
    13
    а вот как бы теперь эту цену вывести не только в админке но и на сайте,т.е возле цены в у.е товара(например 150 у.е (1500 грн.)
     
  7. rabidrabitt

    rabidrabitt Постоялец

    Регистр.:
    21 июн 2008
    Сообщения:
    67
    Симпатии:
    6
    и чтобы еще в зависимости от выбраной валюты они менялись местами...:ah:
     
  8. scem

    scem Постоялец

    Регистр.:
    22 дек 2006
    Сообщения:
    110
    Симпатии:
    8
    имхо, править код в зависимости от содержания базы - неправильно - это потенциальный источник ошибок в будущем

    могу ошибаться в случае, приведенным ТС, но у.е. - это те цены, в которых закачиваются цены. Курсы остальных валют - вычисляются. При таком раскладе проблемы с пересчетом курсов нивиллируются, в крайнем случае (изменение курса базовой валюты и, соответственно, всех цен, можно пересчитать все цены из phpmyadmina sql-запросом)
     
  9. Caurus

    Caurus

    Регистр.:
    21 фев 2008
    Сообщения:
    348
    Симпатии:
    285
    to scem

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

    Что касается потенциального источника ошибок в будущем, то совершение оных может стать только следствием некорректных действий оператора электронно вычислительной машины, остальные же абстрактные размышления по данному вопросу считаю нецелесообразными, ввиду отсутствия предложения Вами альтернативного решения столь элементарного вопроса, за сим считаю мое решение единственно правильным и простым для применения в практических целях.
     
    Welho® нравится это.
  10. scem

    scem Постоялец

    Регистр.:
    22 дек 2006
    Сообщения:
    110
    Симпатии:
    8
    CID не характериует валюту однозначно - через год, когда все операторы забудут, что валюта номер N имеет особые свойства, ошибки могут (и скорее всего будут) возникать. Про дополнительные доработки (другим программистом) даже не обсуждаем...
    Решением проблемы может быть заведение дополнительной таблицы (переменной для упрощения), содержащей информацию об особенности какой-либо валюты, а также доработка conf_payment.php для информирования оператора об этой(их) особенности(ях)

    Добавлено через 18 минут
    пс. более корректное решение проблемы, поставленной ТС, на мой взгляд, приведено в первом моем посте, иначе мне искренне неясна его (ТС) цель...
     
Статус темы:
Закрыта.