Как сделать ссылкой - наименование товара в заказе...

Тема в разделе "Shop-script", создана пользователем Caurus, 19 апр 2008.

Статус темы:
Закрыта.
  1. Caurus

    Caurus

    Регистр.:
    21 фев 2008
    Сообщения:
    348
    Симпатии:
    285
    1) Подскажите, пожалуйста, что нужно прописать в файле
    Код:
    templates/backend/custord_new_orders.tpl.html
    перед
    Код:
    {$orderContent[i].name}
    что б можно было нажать мне в админке на наименование товара в заказе и этот товар открылся в новом окне для просмотра. Сейчас там просто идёт наименование товара, и оно не активно. Например нажал на товар номер 1 и открылось новое окно со следующим адресом
    Код:
    _http://www.xxxx.ru/index.php?productID=25
    2) Ну и совсем было б хорошо, если б подсказали, как вывести не полный магазин с графикой а только, например, содержимое
    Код:
    product_detailed.tpl.html
    P.S.
    Если последнее слишком муторно, то подскажите только по первому пункту

    Спасибо!!!
     
  2. genjak

    genjak Постоялец

    Регистр.:
    22 мар 2007
    Сообщения:
    107
    Симпатии:
    30
    вообще тебе нужно достать id товара и если бы то его достал то получилось бы вставить
    <a href='http://www.xxxx.ru/index.php?productID={$orderContent.id}' target='_blink'>{$orderContent.name}</a>

    и доработать core_functions/order_functions.php
    но одна проблема - таблица SS_order_status не сожержит продуктID и правильно делает иначе просто рушится целостность БД))). Там один из трех законов нарушается).

    На примере поясню - ты удалил товар а его кто то хочет открыть (потому что он был заказан) - нехорошо....

    Если ты просто добавишь поле product_id в таблицу SS_order_status - то нужно будет сильно покопаться что бы сделать добавление поля, его вывод в шаблон и уже работу в шаблоне...

    По второму - нужно тебе копать index.php там есть строки
    $smarty->display("index.tpl.html");
    и
    $smarty->assign("main_content_template", "home.tpl.html");

    Второе отвечает за вывод на главной.

    А вот первая строка - тебе нужно смотреть если человек находится на странице товара - то $smarty->display("product_detailed.tpl.html");
    Если обработчик смарти шаблонов не будет ругаться то прокатит. Но в любом случае тебе придется в product_detailed.tpl.html вставлять <html><head></head><body></body> - ну то есть что бы на выходе получилась страница нормальная.
     
  3. zirrax

    zirrax

    Регистр.:
    8 ноя 2006
    Сообщения:
    321
    Симпатии:
    141
    Решил проблему:
    находим в папке core_functions находим файл order_functions.php
    ищем строку 1042 - она выглядит так: $productID = GetProductIdByItemId( $row["itemID"] );
    сразу после нее вставляем:
    $row["dl_item"] = $productID;
    сохраняемся.
    -------------
    открываем файл \templates\backend\custord_new_orders.tpl.html
    находим ячейку, где идет вывод наименования {$orderContent.name}.
    Заменяем на {if $orderContent.dl_item}<a href="index.php?productID={$orderContent.dl_item}">{$orderContent.name}</a>{else}{$orderContent.name}{/if}
    ---------

    Все работает.
    PS извиняюсь за корявое оформление, очень спешу. Надо убегать с работы :)
     
    SegHan и rabidrabitt нравится это.
  4. rabidrabitt

    rabidrabitt Постоялец

    Регистр.:
    21 июн 2008
    Сообщения:
    67
    Симпатии:
    6
    для того, чтобы открывалось в новом окне необходимо чуть поправить код, предложеный zirrax:

    открываем файл \templates\backend\custord_new_orders.tpl.html
    находим ячейку, где идет вывод наименования {$orderContent.name}.
    Заменяем на {if $orderContent.dl_item}<a target="_blank" href="index.php?productID={$orderContent.dl_item}">{$orderContent.name}</a>{else}{$orderContent.name}{/if}
     
    SegHan нравится это.
  5. zirrax

    zirrax

    Регистр.:
    8 ноя 2006
    Сообщения:
    321
    Симпатии:
    141
    вы достали мое сообщение из хайда. Прошу убрать его обратно!
     
  6. rabidrabitt

    rabidrabitt Постоялец

    Регистр.:
    21 июн 2008
    Сообщения:
    67
    Симпатии:
    6
    сори, исправился)
     
  7. alexander-x

    alexander-x Постоялец

    Регистр.:
    20 май 2007
    Сообщения:
    130
    Симпатии:
    26
    а так чтоб пользователю в заказе ссылки приходили? а ещё в заказе юзер - не ссылка, иногда хочется глянуть ,какие у него ещё заказы были
     
  8. cherepinfo

    cherepinfo Создатель

    Регистр.:
    22 май 2009
    Сообщения:
    23
    Симпатии:
    0
    Как сделать ссылку на заказаный товар в пользовательскую часть на index.tpl.html так, чтоб их видел только вошедший админ, а остальные нет. ???
     
  9. zirrax

    zirrax

    Регистр.:
    8 ноя 2006
    Сообщения:
    321
    Симпатии:
    141
    Способ, который я описал выше делает именно так
     
    cherepinfo нравится это.
  10. Кошка

    Кошка Создатель

    Регистр.:
    25 апр 2008
    Сообщения:
    42
    Симпатии:
    13
    В templates/backend/custord_new_orders.tpl.html

    Код:
    <tr>
    	<td>{$smarty.const.ADMIN_ORDER_NUMBER}: <b>{$order.orderID}</b></td>
    </tr>
    <tr>
    	<td>{$smarty.const.TABLE_ORDER_TIME}: <b>{$order.order_time}</b></td>
    </tr>
    <tr>
    	<td>{$smarty.const.TABLE_CUSTOMER}: <b>{$order.customer_firstname|replace:"<":"&lt;"} {$order.customer_lastname|replace:"<":"&lt;"}</b></td>
    </tr>
    
    меняем на

    Код:
    <tr>
    	<td>{$smarty.const.ADMIN_ORDER_NUMBER}: <b>{$order.orderID}</b></td>
    </tr>
    <tr>
    	<td>{$smarty.const.TABLE_ORDER_TIME}: <b>{$order.order_time}</b></td>
    </tr>
    <tr>
    	<td>{$smarty.const.TABLE_CUSTOMER}: [B]<a href='admin.php?dpt=custord&sub=custlist&customer_details=order_history&customerID={$order.customerID}'>[/B]{$order.customer_firstname|replace:"<":"&lt;"} {$order.customer_lastname|replace:"<":"&lt;"}[B]</a>[/B]</td>
    </tr>
    
    Теперь фамилия-имя покупателя в деталях заказа в админке - это ссылка на его историю заказов.
     
Статус темы:
Закрыта.