Интересно почитать… Блог в котором есть много интересной информации…

24 марта 2011

Как убрать надпись «Проверить последнюю версию» из админки VirtueMart

Категория: программирование — admin @ 23:30

В файле administrator/components/com_virtuemart/admin.virtuemart.php комментируем следующие строчки:

    if( $vmLayout != 'extended' ) {
		echo '<br style="clear:both;"/><div class="smallgrey" align="center">'
	                .$VMVERSION->PRODUCT.' '.$VMVERSION->RELEASE
	                .' (<a href="http://virtuemart.net/index2.php?option=com_versions&amp;catid=1&amp;myVersion='.@$VMVERSION->RELEASE.'" onclick="javascript:void window.open(this.href, \'win2\', \'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=580,directories=no,location=no\'); return false;" title="'.$VM_LANG->_('VM_VERSIONCHECK_TITLE').'" target="_blank">'.$VM_LANG->_('VM_VERSIONCHECK_NOW').'</a>)</div>';
	}

VM_VERSIONCHECK_TITLE и VM_VERSIONCHECK_NOW прописаны в administrator/components/com_virtuemart/languages/common/russian.php

7 марта 2011

VirtueMart и Joomla 1.6

Категория: Новости,программирование — Метки: , — admin @ 12:55

virtuemartVirtueMart пока не работает с Joomla 1.6, но зато уже появился VirtueMart 2.0 beta3 (см новости на сайте virtuemart.net), который инсталлируется под Joomla 1.6, но для коммерческого использования пока не годится.  VirtueMart 2.0 beta4 появится в конце марта, видимо рано или поздно будет и VirtueMart 2.0 stable, а пока последняя стабильная версия VirtueMart 1.1.7a, которая работает только с Joomla 1.5.

В VirtueMart 2.0 beta2 появилась plugin system for Shipping and Payments, и другое.

JoomFish для Joomla 1.6 тоже пока ещё не готов, зато Jumi уже есть.

Надо подождать пока выйдет рабочая версия Joomla 1.7, похоже, что толковый VirtueMart 2.0 будет именно под ней.

16 января 2011

Как стандартный Dotfuscator работает с WPF

Категория: программирование — admin @ 0:39

Похоже что новый Dotfuscator должен поддерживать WPF, см статьи на сайте разработчика:

Но Dotfuscator, который входит в состав MS Visual Studio 2010, WPF полностью не поддерживает. Например, в моём проекте, есть окно с CommandBindings:

<Window ...>
    <Window.CommandBindings>
        <CommandBinding Command="{x:Static local:MainWindow.TextFilterCommand}" Executed="ExecuteTextFilter" CanExecute="CanTextFilter" />
        <CommandBinding Command="{x:Static local:MainWindow.ClearTextFilterCommand}" Executed="ExecuteClearTextFilter" CanExecute="CanClearTextFilter" />
        <CommandBinding Command="{x:Static local:MainWindow.TextFilterUseRegexCommand}" Executed="ExecuteTextFilterUseRegex" CanExecute="CanAlwaysTrue" />
    </Window.CommandBindings>
    <Window.InputBindings>
        <KeyBinding Key="R" Modifiers="Ctrl" Command="{x:Static local:MainWindow.TextFilterUseRegexCommand}" />
    </Window.InputBindings>
    ...
</Window>

так вот для них в проекте Dotfuscator-а пришлось явно прописывать исключения:

(далее…)

15 января 2011

Общие правила работы для PHP/MySQL разработчиков

Категория: программирование — admin @ 3:09

Все изменения производятся на тестовом сайте, откуда переносятся на боевой, с помощью специальной команды, которая архивирует измененные файлы, поэтому перезаливать на сервер надо только те файлы, которые вы модифицируете. Если были сделаны изменения в базе MySQL, то создаётся sql скрипт, для внесения изменений в базу боевого сайта.

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

Выглядеть сайт должен одинаково под IE 7+, FF, Chrome, Opera. Поддержка IE 6 не обязательна.
(далее…)

9 января 2011

Полезные команды MySQL

Категория: программирование — admin @ 2:48

Работа с привилегиями:

показать привелегии пользователя gui и др.:

SHOW GRANTS FOR 'gui'@'%';
SELECT host, user, password FROM user ;
SHOW GRANTS FOR 'user'@'localhost';

удалить все привелегии:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'gui'@'%';

дать read only доступ к базе beauty:

GRANT SELECT ON `beauty`.* TO 'gui'@'%';

(далее…)

EF + MySQL = There is already an open DataReader associated with this Command…

Категория: программирование — admin @ 2:40

1. Инсталлируем Connector/Net.

2. В Visual Studio 2010 создаем  ADO.NET Entity Data Model и импортируем пару таблиц из базы (например Joomla VirtueMart):

(далее…)

6 января 2011

Как убрать кнопки у WPF FlowDocumentPageViewer

Категория: программирование — admin @ 4:58

Надо прописать ему Template:

<FlowDocumentPageViewer.Template>
    <ControlTemplate TargetType="{x:Type FlowDocumentPageViewer}">
        <AdornerDecorator>
            <DocumentPageView FlowDocumentPageViewer.IsMasterPage="True" />
        </AdornerDecorator>
    </ControlTemplate>
</FlowDocumentPageViewer.Template>

либо, если нужен FlowDocument без кнопок можно использовать FlowDocumentScrollViewer с убранным вертикальным скролбаром:

<FlowDocumentScrollViewer VerticalScrollBarVisibility="Hidden">
    <FlowDocument>
        <Paragraph>
			Some Text
        </Paragraph>
    </FlowDocument>
</FlowDocumentScrollViewer>

4 января 2011

Где в Joomla VirtueMart сидит производитель товара

Категория: программирование — admin @ 14:35

В файле administrator/components/com_virtuemart/classes/ps_product.php есть функция get_manufacturer_id:

	function get_manufacturer_id($product_id) {
		$db = new ps_DB;

		$q = "SELECT manufacturer_id FROM #__{vm}_product_mf_xref ";
		$q .= "WHERE product_id='$product_id' ";

		$db->query($q);
		$db->next_record();
		if ($db->f("manufacturer_id")) {
			return $db->f("manufacturer_id");
		}
		else {
			return false;
		}
	}

судя по этому коду становится понятно где копать. У таблицы jos_vm_product_mf_xref нет Primary Key, его надо добавить, иначе EF через MySQL Connector.Net её не импортирует:

ALTER TABLE `jos_vm_product_mf_xref` ADD PRIMARY KEY(`product_id`)

(далее…)

24 декабря 2010

Добавление функциональности «Товар временно недоступен» в Joomla VirtueMart

Категория: программирование — admin @ 20:21

в файле /components/com_virtuemart/themes/vm_mynxx/templates/common/availability.tpl.php есть сделующий код:

	// Delivery time!
	// Ships in 24hrs, 48hrs, ....
	if( $product_availability ) { ?>
		<span style="font-weight:bold;">
			<?php echo $VM_LANG->_('PHPSHOP_DELIVERY_TIME') ?>: 
		</span>
		<br /><br />
		<?php
		if( CHECK_STOCK == '1' && !$product_in_stock ) {
			$product_availability = 'not_available.gif';
		}
		if( is_file( VM_THEMEPATH."images/availability/".$product_availability)) {
			echo vmCommonHTML::imageTag( VM_THEMEURL."images/availability/".$product_availability, $product_availability );
		}
		else {
			echo $product_availability;
		}
	}

(далее…)

6 декабря 2010

Настройка почты для Joomla

Категория: linux,программирование — admin @ 0:13

Если в конфигурации Joomla (в файле configuration.php) прописать следующее:

        var $mailfrom = 'me@somewhere.ru';
        var $mailer = 'smtp';
        var $smtpauth = '1';
        var $smtpsecure = 'ssl';
        var $smtpport = '465';
        var $smtpuser = 'somename@gmail.com';
        var $smtppass = 'XXXXX';
        var $smtphost = 'smtp.gmail.com';

, то почта будет отсылаться через класс PHPMailer. Одним из недостатков такого варианта является то, что $mailfrom, при использовании smtp.gmail.com не учитывается, и все письма будут приходить от somename@gmail.com. Если зайти в настройки GMail «Аккаунты и импорт», то там можно поменять адрес от которого будут приходить письма нажав кнопку «Отправлять письма с другого адреса». В отличии от Gmail, Яндекс — smtp.yandex.ru вообще не будет принимать письма, если $mailfrom отличный от имени ящика ($smtpuser). Вот настройки для Яндекса:

        var $mailer = 'smtp';
        var $mailfrom = 'somename@yandex.ru';
        var $fromname = 'Вася;
        var $sendmail = '/usr/sbin/sendmail';
        var $smtpauth = '1';
        var $smtpsecure = 'none';
        var $smtpport = '25';
        var $smtpuser = 'somename';
        var $smtppass = 'XXXXXX';
        var $smtphost = 'smtp.yandex.ru';

(далее…)

2 декабря 2010

Как в Joomla VirtueMart задавать цвет товара

Категория: программирование — admin @ 17:31

Цвет товара, как правило не влияет на его цену, поэтому в админке на закладке ‘Статус Товара’ прописываем свойство «Цвет» без цены:


(далее…)

28 ноября 2010

Где в Joomla VirtueMart инициализируется phpMailer

Категория: программирование — admin @ 14:01

файл administrator/components/com_virtuemart/classes/ps_main.php

function vmCreateMail( $from='', $fromname='', $subject='', $body='' ) {
	global $mosConfig_absolute_path, $mosConfig_sendmail;
	global $mosConfig_smtpauth, $mosConfig_smtpuser;
	global $mosConfig_smtppass, $mosConfig_smtphost;
	global $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_mailer;

	$phpmailer_classname='phpmailer';
	if( file_exists( $mosConfig_absolute_path . '/libraries/phpmailer/phpmailer.php') ) {
		$phpmailer_path = $mosConfig_absolute_path . '/libraries/phpmailer/phpmailer.php';
	}elseif( file_exists( $mosConfig_absolute_path . '/includes/phpmailer/class.phpmailer.php')) {
		$phpmailer_path = $mosConfig_absolute_path . '/includes/phpmailer/class.phpmailer.php';
		$phpmailer_classname = 'mosphpmailer';
	}
	require_once( $phpmailer_path );
	if( class_exists( $phpmailer_classname )) {
		$mail = new $phpmailer_classname();
	}
	$phpmailer_path = dirname( $phpmailer_path );
	$mail->PluginDir = $phpmailer_path .'/';
	$mail->SetLanguage( 'en', $phpmailer_path . '/language/' );
	$mail->CharSet 	= vmGetCharset();
	$mail->IsMail();
	$mail->From 	= $from ? $from : $mosConfig_mailfrom;
	$mail->FromName = $fromname ? $fromname : $mosConfig_fromname;
	$mail->Sender 	= $from ? $from : $mosConfig_mailfrom;
	$mail->Mailer 	= $mosConfig_mailer;

	// Add smtp values if needed
	if ( $mosConfig_mailer == 'smtp' ) {
		$mail->SMTPAuth = $mosConfig_smtpauth;
		$mail->Username = $mosConfig_smtpuser;
		$mail->Password = $mosConfig_smtppass;
		$mail->Host 	= $mosConfig_smtphost;
	} else

	// Set sendmail path
	if ( $mosConfig_mailer == 'sendmail' ) {
		if (isset($mosConfig_sendmail))
			$mail->Sendmail = $mosConfig_sendmail;
	} // if
	if( $subject ) {
		$mail->Subject 	= vmAbstractLanguage::safe_utf8_encode( $subject, $mail->CharSet );
	}
	if( $body) {
		$mail->Body 	= $body;
	}
	// Patch to get correct Line Endings
	switch( substr( strtoupper( PHP_OS ), 0, 3 ) ) {
		case "WIN":
			$mail->LE = "\r\n";
			break;
		case "MAC": // Mac OS9
			$mail->LE = "\r";
			break;
		case "DAR": // Mac OSX
		default: // change nothing
			break;
	}
	return $mail;
}

27 ноября 2010

Bash это очень интересный язык

Категория: программирование — admin @ 1:15

Вот, например, армянин Бьярн Страуструп придумал нормальный вполне язык С++, а таджик Браен Фокс придумал савсэм нэпонатый язык Bash. У него в языке надо обязательно ставить ; после ], и если мы забыли пробел (см красные знаки), то савсем ничего нэ будэт работат:

8 ноября 2010

Кастомизация Joomla VirtueMart

Категория: программирование — admin @ 4:41

Отображение аттрибутов продукта в листинге:

Основной файл через который делается листинг продуктов это administrator/components/com_virtuemart/html/shop.browse.php, для того, чтобы передать аттрибуты в шаблон листинга надо добавить вот такую строчку в этот файл:

		$products[$i]['product_attribute'] = $db_browse->f('attribute');
		$products[$i]['product_name'] = shopMakeHtmlSafe( $product_name );
		$products[$i]['product_s_desc'] = $product_s_desc;
		$products[$i]['product_details'] = $product_details;
		$products[$i]['product_rating'] = $product_rating;

и в файле administrator/components/com_virtuemart/html/shop_browse_queries.php, в котором прописаны соответствующие SQL запросы надо добавить поле `attribute`:

// These are the names of all fields we fetch data from
$fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`,
				`#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`product_in_stock`,`product_sku`, `product_url`,
				`product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`,`attribute`";

(далее…)

31 октября 2010

Как зайти в Tomcat после его установки

Категория: linux,программирование — admin @ 4:36

оказывается, что сделать это очень просто, надо просто взять и прописать в файле /etc/tomcat6/tomcat-users.xml нового юзера:

<tomcat-users>
  <role rolename="admin"/>
  <role rolename="manager"/>
  <user username="admin" password="mypassword" roles="admin,manager"/>
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->
</tomcat-users>

и потом зарестартить Tomcat:

sudo /etc/init.d/tomcat6 restart

18 октября 2010

Как сортировать продукты в Joomla VirtueMart

Категория: программирование — admin @ 22:25

Чтобы можно было сортировать продукты зелёными стрелочками надо в настройках выбрать порядок по умолчанию:

(далее…)

14 октября 2010

Как смотреть заказы в Joomla VirtueMart

Категория: программирование — admin @ 23:31

Надо залогиниться и зайти в VirtueMart:

(далее…)

Как упорядочить статьи в шаблоне блога раздела в Joomla 1.5

Категория: программирование — admin @ 22:44

Оказывается, что для того чтобы в шаблоне блога раздела можно было задавать порядок статей стелочками:

надо в соответствующем пункте меню задавать расширенные параметры:

без этих параметров порядок заданный стрелочками будет игнорироваться.

3 сентября 2010

Как создавать шаблоны для CMS Joomla 1.5

Категория: программирование — admin @ 4:56

Скачиваем плагин Media 65 Joomla Template Kit (‘M65JTK3.1.mxp’)для Adobe DreamWeaver CS4.

Инсталлируем его через Adobe Extension Manager (запускается через системное меню «Пуск»), для этого надо нажать кнопку Install и выбрать этот файл.

Перезапускаем DreamWeaver и заходим в меню Window->Media 65 Joomla Template Kit.

В открывшемся окне нажимаем кнопку «Make Base Template Files».

1 сентября 2010

Как удалить логотип Joomla плагина PhocaDownload

Категория: программирование — Метки: , — admin @ 4:57

в двух файлах

components/com_phocadownload/views/section/tmpl/default.php
components/com_phocadownload/views/sections/tmpl/default.php

удаляем последнюю строчку

echo $this->tmpl[‘pdwnl’];

и из файла components/com_phocadownload/views/section/tmpl/default.php удаляем из последней строки

. $this->tmpl[‘phoca_download’];

если надо удалить статистику, то удаляем всё, что после

// Most viewed docs (files)

« Newer PostsOlder Posts »

SlogPost.ru