В общем знаний в PHP мало поэтому не ругайтесь если что-то где-то будет сделано нерационально
Довести до какого-то более менее универсального вида времени особо нет, довел до вида устраивающего заказчика (2 продавца для каждого по одному способу оплаты)
Добавляем новое поле в продавца:
- добавляем новое поле в структуру SQL таблицы ваш_префикс_jshopping_vendors, называем например его pmetod, тип VARCHAR длина 255
- добавляем нужное поле в шаблон редактирования продавца - открываем /administrator/components/com_jshopping/views/vendors/tmpl/edit.php и в таблицу
<table class="admintable">
в желаемое место вставляем строку:
<tr>
<td class="key">
<?php echo 'id способа оплаты, одна цифра';?>
</td>
<td>
<input type = "text" class = "inputbox" size="40" name = "pmetod" value = "<?php echo $vendor->pmetod ?>" />
</td>
</tr>
Теперь нужно не выводить лишние способы оплаты, для этого открываем шаблон вывода способов оплаты /components/com_jshopping/templates/default/checkout/payments.php
и в начале файла перед строкой
вставляем код:
<?php
$session = JFactory::getSession();
$vendid = $session->get('vendid');
$db=&JFactory::getDBO();
$q="SELECT `pmetod` FROM `#__jshopping_vendors` WHERE `id` = '$vendid'";
$db->setQuery($q);
$pmetod=$db->loadResult();
?>
В этом же файле чуть ниже находим строки:
foreach($this->payment_methods as $payment){
if ($this->active_payment==$payment->payment_id) $payment_class = $payment->payment_class;
и сразу за ними вставляем проверку:
if ($payment->payment_id==$pmetod) {
не забываем найти конец этого цикла foreach и добавить скобку }
- осталось сохранить в сессию id продавца товаров в корзине (знаний и времени не хватило найти другой способ получить эту информацию), открываем файл /components/com_jshopping/templates/default/cart/cart.php
Находим в нем код:
</tr>
<?php
$i++;
}?>
</table>
и приводим его к виду:
</tr>
<?php
$i++;
$vendid=$prod['vendor_id'];
}
$session = JFactory::getSession();
$session->set('vendid', $vendid);
?>
</table>
Еще раз попрошу не ругаться за убогость кода)