Joomla 1.5 VirtueMart: Контактная информация плательщика, пустые поля вместо заполненых.

Тема в разделе "Магазины, электронная коммерция", создана пользователем Serj, 09.03.2010.

  1. Offline

    Serj Недавно здесь

    Регистрация:
    27.01.2010
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Помогите будьте добры решить проблему. Настроил поля заполняемые пользователем при покупке товара так (регистрация отключена в главном конфиге):
    [​IMG]

    После они отображаются так
    [​IMG]

    Содержимое файла customer_info.tpl.php
    Код (PHP):
    1. <?php
    2. if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
    3. ?>
    4. <!-- Customer Information -->
    5.     <table border="0" cellspacing="0" cellpadding="2" width="100%">
    6.         <tr class="sectiontableheader">
    7.             <th colspan="2" align="left"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_CUST_BILLING_LBL') ?></th>
    8.         </tr>
    9.         <tr>
    10.            <td nowrap="nowrap" width="10%" align="right"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_EMAIL') ?>: </td>
    11.            <td width="90%">
    12.            <?php
    13.              $db->p("email");
    14.            ?>
    15.            </td>
    16.         </tr>
    17.         <tr>
    18.            <td nowrap="nowrap" width="10%" align="right"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_CITY') ?>: </td>
    19.            <td width="90%"><?php
    20.              echo $db->p("city") ?>
    21.            </td>
    22.         </tr>
    23.         <tr>
    24.            <td nowrap="nowrap" width="10%" align="right"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_PHONE') ?>: </td>
    25.            <td width="90%">
    26.            <?php
    27.              $db->p("phone_1");
    28.            ?>
    29.            </td>
    30.         </tr>
    31.         <tr>
    32.            <td nowrap="nowrap" width="10%" align="right">&nbsp;</td>
    33.            <td width="90%">
    34.            <?php
    35.              $db->p("city");
    36.              echo ", ";
    37.              // for state, can be used: state_name, state_2_code, state_3_code
    38.              $db->p("state_2_code");
    39.              echo " ";
    40.              $db->p("zip");
    41.              echo "<br /> ";
    42.              // for country, can be used: country_name, country_2_code, country_3_code
    43.              $db->p("country_name");
    44.            ?>
    45.            </td>
    46.         </tr>
    47.         <tr>
    48.            <td nowrap="nowrap" width="10%" align="right"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_PHONE') ?>: </td>
    49.            <td width="90%">
    50.            <?php
    51.              $db->p("phone_1");
    52.            ?>
    53.            </td>
    54.         </tr>
    55.         <tr>
    56.            <td nowrap="nowrap"width="10%" align="right"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_FAX') ?>: </td>
    57.            <td width="90%">
    58.            <?php
    59.              $db->p("fax");
    60.            ?>
    61.            </td>
    62.         </tr>
    63.         <tr>
    64.            <td nowrap="nowrap" width="10%" align="right"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_EMAIL') ?>: </td>
    65.            <td width="90%">
    66.            <?php
    67.              $db->p("user_email");
    68.            ?>
    69.            </td>
    70.         </tr>
    71.         <tr><td align="center" colspan="2"><a href="<?php $sess->purl( SECUREURL ."index.php?page=account.billing&next_page=$page"); ?>">
    72.             (<?php echo $VM_LANG->_('PHPSHOP_UDATE_ADDRESS') ?>)</a>
    73.             </td>
    74.         </tr>
    75.     </table>
    76.     <!-- customer information ends -->
    77.     <br />

    И дамп таблицы _vm_userfield прикреплен.
    Где я что не так делаю или как мне исправить чтобы выводилась инфа?
     

    Вложения:

  2.  
  3. Offline

    alex0802 Недавно здесь

    Регистрация:
    11.09.2007
    Сообщения:
    82
    Симпатии:
    7
    Пол:
    Мужской
    ты бы лучше sql запрос на выборку данных привел ) у тебя данные пустые, потому и не отображается нифига
     
  4. Offline

    Serj Недавно здесь

    Регистрация:
    27.01.2010
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Ну в коде все выглядит так
    Код (PHP):
    1. //$steps = ps_checkout::get_checkout_steps();
    2.         if(empty($_REQUEST['ship_to_info_id']) && ps_checkout::noShipToNecessary()) {
    3.  
    4.             $db = new ps_DB();
    5.  
    6.             /* Select all the ship to information for this user id and
    7.             * order by modification date; most recently changed to oldest
    8.             */
    9.             $q  = "SELECT user_info_id from `#__{vm}_user_info` WHERE ";
    10.             $q .= "user_id='" . $_SESSION['auth']["user_id"] . "' ";
    11.             $q .= "AND address_type='BT'";
    12.             $db->query($q);
    13.             $db->next_record();
    14.  
    15.             $_REQUEST['ship_to_info_id'] = $db->f("user_info_id");

    В базе при заказе товара создается некий бзер с заполнеными полями.
    SELECT `user_info_id` FROM `jos_vm_user_info` WHERE user_info_id='a7c67e468b6834f9c35c6e3686b74fc0' банальный пашет ))
    Ну вообще считай что проблема может в . $_SESSION['auth']["user_id"] . "' "; ?
     
  5. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 311
    Симпатии:
    375
    Пол:
    Мужской
    Serj, надо ковырять ps_checkout.php, функцию
    Код (PHP):
    1. function display_address($address_type='BT') {
    2.         $auth = $_SESSION['auth'];
    3.        
    4.         $address_type = $address_type == 'BT' ? $address_type : 'ST';
    5.        
    6.         $db = new ps_DB;
    7.         $q  = "SELECT * FROM #__{vm}_user_info i ";
    8.         $q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code OR i.country=c.country_2_code) ";
    9.         $q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";
    10.         $q .= "WHERE user_id='" . $auth["user_id"] . "' ";
    11.         $q .= "AND address_type='BT'";
    12.         $db->query($q);
    13.         $db->next_record();
    14.         $theme = new $GLOBALS['VM_THEMECLASS']();
    15.         $theme->set('db', $db );
    16.        
    17.         return $theme->fetch('checkout/customer_info.tpl.php');
    18.        
    19.     }

    Я у себя вообще закомментировал
    Код (PHP):
    1. $q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code OR i.country=c.country_2_code) ";
    2.         $q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";

    потому что не использую Страну, Город, Область
     
  6. Offline

    Serj Недавно здесь

    Регистрация:
    27.01.2010
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Сделал по своему:
    Код (PHP):
    1. $db->query( 'SELECT `user_email` FROM `#__{vm}_user_info`');
    2. $db->p( 'user_email' );

    Как пример для почты.

    В файле customer_info.tpl.php
     
  7. Offline

    alex0802 Недавно здесь

    Регистрация:
    11.09.2007
    Сообщения:
    82
    Симпатии:
    7
    Пол:
    Мужской
    гы... так он у тебя первую запись будет брать ) а если у тебя там их 100 будет? ) и нужная нифига не первая? )))
     
  8. Offline

    gnjbs Недавно здесь

    Регистрация:
    11.12.2009
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо помогло.
     
    Последнее редактирование модератором: 05.04.2014
  9. Offline

    Antonio Samaran4 Недавно здесь

    Регистрация:
    26.06.2011
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Женский
    А мне не помогло, я конечно понимаю что при появлении профессиональных навыков все остальные кажутся придурками.....

    будьте добры объясните ламеру ))

    как добиться что бы отображалась контактная информация плательщика....

    где что заменить??
     
  10. Offline

    fatiniya Недавно здесь

    Регистрация:
    23.04.2012
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Женский
    У меня те же проблемы. Подскажите, пожалуйста.
     
  11. Offline

    fatiniya Недавно здесь

    Регистрация:
    23.04.2012
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Женский
    Нашла ответ здесь http://miksstyle.ru/razrabotka-saytov/pustir-polya-v-vm.html
    Скачала файл, заменила и все заработало.
     
  12. Offline

    M.T. Недавно здесь

    Регистрация:
    23.03.2012
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Женский
    Скачала файл, но не помогло.

    В файле customer_info.tpl.php вместо:
    Код (PHP):
    1. <?php  echo $db->f("first_name")." " . $db->f("middle_name") ." " . $db->f("last_name"); ?>

    Написала:
    Код (PHP):
    1. <?php  echo $auth["first_name"] . " " . $auth["middle_name"] . " " . $auth["last_name"]." ";?>


    Имя выводит, а вот всё остальное пустое (этот способ не работает).
     

Поделиться этой страницей

Загрузка...