Доброго времени суток всем!
Буквально вчера возникла необходимость решить проблему вывода прайс-листа в классическом виде (активный прайс и традиционный вывод на печать). Используя VM_PriceList, сделал следующим образом:
В файле shop.pricelist.php в самый верх дописал явовский скрипт:
<!-- вывод страницы на печать -->
<script language="javascript">
<!--
function open_print_version(link) //открыть в новом окне
{
var win = "status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no";
newWin = window.open(link,'perintableWin',win);
newWin.focus();
}-->
</script>
<!-- вот и конец скрипта далее начало исходного файла... -->
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
mm_showMyFileName( __FILE__ );
// set this option with "true" if you want to give
// only registered customers access to the price list
$onlyregistered = false;
// set this option with "true" if you want to display
// a column with the manufacturer name
$displaymanuf = false;
// load the Language File
if (file_exists( ADMINPATH. 'html/pricelist/languages/'.$mosConfig_lang.'.php' ))
require_once( ADMINPATH. 'html/pricelist/languages/'.$mosConfig_lang.'.php' );
else
require_once( ADMINPATH. 'html/pricelist/languages/english.php' );
$GLOBALS['VMPL_LANG'] =& new vmplLanguage();
global $mosConfig_sitename, $mainframe, $mosConfig_locale, $pdf, $VMPL_LANG;
setlocale(LC_TIME,$mosConfig_locale);
//Тут вставляем это и в результате получаем классический прайс-лист с выводом его на печать!
$price_print_version = "javascript:open_print_version('index2.php?page=shop.pricelist&option=com_virtuemart&Itemid=1&mode=print')";
?>
<table width="100%" border="0" class="componentheading">
<tr>
<td width="">
<?php
echo " ". $VMPL_LANG->_PRICELIST_TITLE ." “" . ($mosConfig_sitename) . "” / ".strftime($VMPL_LANG->_DATEFORMAT)." /";
?> </td>
<td width="40" class="price_printLink" align="right">
<a href="<?php echo $price_print_version; ?>"><?php echo $VMPL_LANG->_PRINT; ?></a>
</td>
<td width="25" align="right"><a href="<?php echo $price_print_version; ?>"><?php echo "<img src='/images/M_images/printButton.png' alt='Версия для печати' border='0'>"; ?></a> </td>
</tr>
</table>
<br>
<?php
<!-- Конец вставки вывода классического прайс-листа, далее все как в оригинале -->
У себя в файле я убрал вывод артикула, поэтому не даю весь файл целиком, чтобы никого не запутать.
Ссылка на прайс должна быть такого вида:
index.php?page=shop.pricelist&option=com_virtuemart&Itemid=1&mode=view
(об этом можно было и не говорить!)
Кстати, прекрасно подружил эту штуку с sh404SEF (ссылочки и мета-теги можно сделать чудного вида!)
Проверил в связке joomla 1.0.15+VirtueMart 1.0.15 (на 1.5.x+1.1.x делается немного по другому, но тоже можно - проверил).
Вывод на печать страницы товара или категории делается похожим способом (если кому интересно!)
Пробуем...