Как в кратком описании товара убрать поле с выбором количества.


Для того чтобы при просмотре краткой информации о товаре была возможность добавить его в корзину, но при этом не было поля выбора количества товара необходимо отредактировать файл …\www\components\com_virtuemart\themes\ваш_шаблон\templates\browse\includes\addtocart_form.tpl.php:

— ищем блок <div> с классом (home-featured-cartblock), в котором находиться сама форма;

— и меняем текст формы на:

<form action="<?php echo  $mm_action_url ?>index.php" method="post" name="addtocart">
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="page" value="shop.cart" />
<input type="hidden" name="Itemid" value="<?php echo ps_session::getShopItemid(); ?>" />
<input type="hidden" name="func" value="cartAdd" />
<input type="hidden" name="prod_id" value="<?php echo $product_id; ?>" />
<input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
<input type="hidden" name="quantity" value="1" />
<input type="hidden" name="set_price[]" value="" />
<input type="hidden" name="adjust_price[]" value="" />
<input type="hidden" name="master_product[]" value="" />
<input type="submit" value="<?php echo $VM_LANG->_('PHPSHOP_CART_ADD_TO') ?>" title="<?php echo $VM_LANG->_('PHPSHOP_CART_ADD_TO') ?>" />
</form>

После этого будет показываться только кнопочка «В корзину».


Автор: Mekilor

Как добавить в краткое описание производителя и тип товара.


Рассмотрим как в краткое описание товара добавить информацию о его типе и производителе. Допустим мы хотим получить что то типа:  «Материнская плата Gigabyte ga-ma770-ud3».  Приступим.

Добавление название типа товара:

1. Открываем файл …\www\administrator\components\com_virtuemart\classes\ps_product_type.php и добавляем в него функцию get_name_only;

function get_name_only($product_id) {
$db = new ps_DB;
$q = "SELECT product_type_name FROM #__{vm}_product_type,  #__{vm}_product_product_type_xref  WHERE #__{vm}_product_product_type_xref.product_id ='$product_id ' ";
$q .= "AND #__{vm}_product_type.product_type_id=#__{vm}_product_product_type_xref.product_type_id";
$db->query($q);
$db->next_record();
return $db->f("product_type_name");
}

2. Открываем файл …\www\administrator\components\com_virtuemart\html\shop.browse.php и добавляем в него:
— ищем строки:

require_once(CLASSPATH . 'ps_product_attribute.php' );
$ps_product_attribute = new ps_product_attribute;<strong> </strong>

— после них добавляем:

require_once(CLASSPATH . 'ps_product_type.php' );
$ps_product_type = new ps_product_type;

— затем ищем

$product_s_desc = $db_browse->f("product_s_desc");
if( empty($product_s_desc) && $product_parent_id!=0 ) {
$product_s_desc = $dbp->f("product_s_desc"); // Use product_s_desc from Parent Product
}

— и после добавляем

$flerd_product_id = $db_browse->f("product_id");
$product_type_name = $ps_product_type->get_name_only($flerd_product_id);

— идем ниже и дописываем

$products[$i]['product_type_name'] = $product_type_name;

3. Открываем файл шаблона показа краткой информации (у меня это …\www\components\com_virtuemart\themes\vm_mynxx\templates\browse\browse_1.php) и в нужно Вам место вставляем:

<?php echo $product_type_name ?>

На этом процесс добавления название типа товара закончен, теперь таким же образом добавим производителя.
Добавление производителя:
1. Открываем файл …\www\administrator\components\com_virtuemart\classes\ps_manufacturer.php и добавляем в него функцию get_name_mf:

function get_name_mf($product_id) {
$db = new ps_DB;
$q = "SELECT mf_name FROM #__{vm}_manufacturer, #__{vm}_product_mf_xref  WHERE #__{vm}_product_mf_xref.product_id ='$product_id' ";
$q .= "AND #__{vm}_manufacturer.manufacturer_id=#__{vm}_product_mf_xref.manufacturer_id";
$db->query($q);
$db->next_record();
return $db->f("mf_name");
}

2. Открываем файл …\www\administrator\components\com_virtuemart\html\shop.browse.php и добавляем в него:
— ищем строку:

$product_type_name = $ps_product_type->get_name_only($flerd_product_id);

— после нее добавляем:

$mf_name = $ps_manufacturer->get_name_mf($flerd_product_id);

— затем ищем:

$products[$i]['product_type_name'] = $product_type_name;

— и добавляем:

$products[$i]['mf_name'] = $mf_name;

3. Открываем файл шаблона показа краткой информации (у меня это …\www\components\com_virtuemart\themes\vm_mynxx\templates\browse\browse_1.php) и в нужно Вам место вставляем:

<?php echo $mf_name ?>

На этом процесс добавления производителя товара закончен, теперь сформируем название товара. Это будет выглядеть следующим образом:
Редактируем файл шаблона (browse_1.php), таким образом:

<div>
<h3 ><a title="<?php echo $product_name ?>" href="<?php echo $product_flypage ?>">
<?php echo $product_type_name ?>&nbsp;<?php echo $mf_name ?>&nbsp;<?php echo $product_name ?></a>
</h3>
</div>

И получаем следующее:

«Материнская плата Gigabyte ga-ma770-ud3», где:

«Материнская плата» — это название типа товара;

«Gigabyte» — это производитель;

«ga-ma770-ud3» — это название товара.

автор: Mekilor

Подсветка синтаксиса


Здравствуйте, уважаемые читатели Айтиста. Хочу сообщить радостную весть о том, что теперь блог стало удобнее читать, так как теперь добавлена подсветка синтаксиса кода, причём разных языков программирования, к примеру PHP

<?php
  function func_test() {
    echo "Hello IT World!\\n";
  }
?>

Delphi

  procedure func_test;
  begin
    ShowMessage('Hello IT World!');
  end;

На этом у меня пока всё… =)

Редактирование файла hosts в Windows 7


И так, нужно было подправить этот файлик, но по странному стечению обстоятельств у меня не хватило прав на его редактирование. Зашёл в управление пользователями и как и ожидалось, я был администратором. Немного подумав, решение было найдено следующее…
Заходим в пуск, набираем в поиске Блокнот или Notepad в зависимости от версии ОС, и далее щёлкнув правой кнопкой, выбираем в появившемся меню пункт «Запуск от имени администратора», далее открыть и выбираете нужный файл. Странно конечно что администратору приходится делать лишние действия для редактирования с правами администратора, но с точки зрения безопасности весьма хороший ход.
Удачи ??

Мой переход на Windows 7


И так, здравствуйте, уважаемые пользователи, эта статья связана с моими ощущениями по переходу на Windows 7 SP1 с Windows XP SP3.
Конечно не буду отрицать тот факт что я уже знаком с Windows 7 ибо с момента её выхода прошло не мало времени.
Да, я её ставил на виртуальную машину, но не на долго, основная ОС тогда накрылась и знакомство прервалось.
Переход мой на эту ОС связан с тем, что некоторый софт категорично потребовал либо 64 битную висту, либо 64 битную 7ку, а так как у меня была 32 битная (х86) виндовс ХП, поэтому надо было что то решать…
Виста мне вообще никаким местом не нравилась, себе её не ставил, поэтому решил таки осуществить переход на 7ку.
И так, интерфейс конечно хорош, но что в нём больше понравилось, так это более менее нормальная возможность рукописного ввода, так как у меня в последнее время планшет со стола просто не убирается, так и панель задач, которую я конечно же перенастроил, но, с точки зрения юзабилити для при переходе с XP на 7ку без промежуточной висты, может вызвать некоторое недоумение или лёгкий ступор. Но со временем можно со всем разобраться.
Что совсем не понравилось, так это то, что виндовс медиа плеер который при запуске на чистой ОС несколько минут потупил… ну да ладно, его использовать как и штатный ИЕ я не собирался вообще, о том почему я не использую ИЕ вы можете посмотреть в обзоре браузеров, в 2х частях, которые так же есть на Айтисте.
Гаджеты можно было использовать уже в XP поэтому о них я особо ничего повествовать не буду.
Так же хорошая вещь, это панель задач с группировками.
Так же не пришлось ставить дров вообще, всё определилось ОСью…
На данный момент это всё чем хотелось с вами поделиться.

Быстрый поиск по базе данных без запросов.


Здравствуйте уважаемые читатели, Айтиста.
При работе с разными БД, часто возникает необходимость поиска данных, но не всегда нужно делать скрытие информации, например при поиске клиентов. Представьте такую ситуацию, у нас данные отображаются при помощи запроса Select * from Clients. Так мы отображаем всех клиентов, можно сделать запрос, например Select * from Clients where familiya=’Иванов’, что отобразит только Ивановых, можно так же добавить имя, отчество в сам запрос или сделать сортировку.
Но при таком подходе все остальные клиенты скрываются и нужно для их отображения либо писать условие в полях поиска мол если поле пусто то делать стандартный запрос, или же делать дополнительную кнопку, что так же не всегда удобно.
Но к чему вся эта статья, если нет другого пути, и он как раз есть.
Создаём новую форму, подключаемся к БД и так далее, всё стандартно =)
Далее что нам потребуется. компонент adotable на котором завязан ДБГрид, и компонент Edit который и будет служить полем поиска.
Искать мы будем по фамилии.
Представим что у нас есть таблица клиентов, как и было описано ранее, кликнем 2 раза на компоненте Edit, и в окне редактора кода впишем ADOTable1.Locate(‘Familiya’, Edit1.Text, [loPartialKey])
получится примерно следующее:

procedure TFormClients.Edit1Change(Sender: TObject);
begin
ADOTable1.Locate(‘Familiya’, Edit1.Text, [loPartialKey])
end;

Этот код будет переводить курсор на строку с первым найденным введённым текстом.

Вот собственно и всё, ничего лишнего, но в случаях когда всё таки нужно использовать скрытие остальной информации, как и раньше придётся использовать запросы.