Возможно такое решение на VM

  • 12 Ответов
  • 455 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Stasweb

  • ******
  • 1058
  • 17
Надо такое решение для заказов.
При оформлении заказа не для зарегистрированных пользователей в заказах все сохраняется но их приходится периодически удалять.
Возможно чтоб все заказы сохранялись по мимо базы еще и в отдельный файл (что то типа архива заказов) но при удалении их с базы в файле все сохранялось
 

*

Stasweb

  • ******
  • 1058
  • 17
Re: Возможно такое решение на VM
« Ответ #1 : 24.07.2015, 10:41:42 »
И еще один вопрос есть на сайте есть пункт Новинки это стандартный рекомендуемый товар.
При нажатии на изображение оно открывается а не переходит в товар код вывода изображения у меня такой.
/html/com_virtuemart/virtuemart/default_products.php
Код
	<?php // Product Image
if ($product->images) {
//echo JHTML::_ ( 'link', JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id, FALSE ), $product->images[0]->displayMediaThumb( 'class="featuredProductImage"',true,'class="modal"' ) );
            // echo JHTML::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='  .
            // $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id ),
            // '<img src="'.$product->images[0]->file_url_thumb.'"/>', array ('title' => $product->product_name) );
             
echo   $product->images[0]->displayMediaThumb( 'class="featuredProductImage"',true,'class="modal"' ) ;
}
?>
   
если убрать комментарии то изображение начинает дублироваться а подскажите как сделать изображение ссылкой 

*

gartes

  • ******
  • 951
  • 71
  • Е = mс²
Re: Возможно такое решение на VM
« Ответ #2 : 24.07.2015, 13:34:43 »
Цитировать
как сделать изображение ссылкой
Раскомментировать  ту строчку которая закомментирована

И сделать так..


Код
//  echo   $product->images[0]->displayMediaThumb( 'class="featuredProductImage"',true,'class="modal"' ) ;

короче из if 4 коммента убираем и 1 ставим ))

*

gartes

  • ******
  • 951
  • 71
  • Е = mс²
Re: Возможно такое решение на VM
« Ответ #3 : 24.07.2015, 13:37:28 »
По поводу первого вопроса...
А зачем заказы из базы удалять .... а хранить в файлах пусть в базе и телипаются  ;D
Чем они Вам там мешают ??
На хостинг пространство это не влияет ....

*

Stasweb

  • ******
  • 1058
  • 17
Re: Возможно такое решение на VM
« Ответ #4 : 24.07.2015, 13:47:34 »
Решил так
Код
<a href="<?php echo $product->link; ?>">
<?php // Product Image
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>
а по первому вопросу мне надо чтоб контакты с форм для без регистрации сохранялись допустим в csv
всего 4 переменных
order_number;
kontakn_pfone_no_rigistr;
name_no_rigistr;
ww;
в /html/com_virtuemart/cart/order_done.php выводятся так
<?php echo $order['details']['BT']->order_number; ?>
<?php echo $order['details']['BT']->kontakn_pfone_no_rigistr; ?>
<?php echo $order['details']['BT']->name_no_rigistr; ?>
<?php echo $order['details']['BT']->ww; ?>
« Последнее редактирование: 24.07.2015, 13:55:35 от Stasweb »

*

gartes

  • ******
  • 951
  • 71
  • Е = mс²
Re: Возможно такое решение на VM
« Ответ #5 : 24.07.2015, 14:40:20 »
Ну так что тяжело в файл записать .. ?
типа так
Код
function rf($text){
$file = JPATH_ROOT.DS."file.txt";
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем нового человека в файл
$current .= $text."\n";
// Пишем содержимое обратно в файл
file_put_contents($file, $current);

}

*

Stasweb

  • ******
  • 1058
  • 17
Re: Возможно такое решение на VM
« Ответ #6 : 24.07.2015, 14:55:43 »
а с моими переменными как записать

*

gartes

  • ******
  • 951
  • 71
  • Е = mс²
Re: Возможно такое решение на VM
« Ответ #7 : 25.07.2015, 08:05:38 »
а с моими переменными как записать
Код

$text = array ();
$text [] = 'order_number-'.$order['details']['BT']->order_number;
$text [] = 'kontakn_pfone_no_rigistr-'.$order['details']['BT']->kontakn_pfone_no_rigistr;
$text [] = 'kontakn_pfone_no_rigistr-'.$order['details']['BT']->name_no_rigistr;
$text [] = 'ww-'.$order['details']['BT']->ww;

rf($text);


function rf($text){
$file = JPATH_ROOT.DS."file.txt";
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем нового человека в файл
if( is_array ($text) ){
foreach ( $text  as $v ){
$current .= $v."\n";
}//end foreach
}else{
$current .= $text;
} // end if
$current .= '--------------------------------------------'."\n";
// Пишем содержимое обратно в файл
file_put_contents($file, $current);
}// end function


если вызывать в объекте то
$this->rf($text);
можно передать $text как массив либо как строку.


Ну там по поводу перевода строк и разделителей сразу гляньте что бы потом если обратно в базу грузить то что б правильно распарсить можно было
типа так
$current .= 'order_number^'.$order['details']['BT']->order_number."\n";
или через запятую.... в общем это уже другой вопрос )
« Последнее редактирование: 25.07.2015, 08:36:34 от gartes »

*

Stasweb

  • ******
  • 1058
  • 17
Re: Возможно такое решение на VM
« Ответ #8 : 28.07.2015, 17:01:50 »
То есть для csv надо так
Код
<?php
$text = array ();
$text [] = 'Номер заказа -'.$order['details']['BT']->order_number;
$text [] = 'Контактный телефон -'.$order['details']['BT']->kontakn_pfone_no_rigistr;
$text [] = 'Имя -'.$order['details']['BT']->name_no_rigistr;
$text [] = 'Описание -'.$order['details']['BT']->ww;

rf($text);


function rf($text){
$file = JPATH_ROOT.DS."arhiv.csv";
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем нового человека в файл
if( is_array ($text) ){
foreach ( $text  as $v ){
$current .= $v."\n";
}//end foreach
}else{
$current .= $text;
}
    // end if
//$current .= '--------------------------------------------'."\n";
      $current .= 'Номер заказа^'.$order['details']['BT']->order_number."\n";
      $current .= 'Контактный телефон^'.$order['details']['BT']->kontakn_pfone_no_rigistr."\n";
      $current .= 'Имя^'.$order['details']['BT']->name_no_rigistr."\n";
      $current .= 'Описание^'.$order['details']['BT']->ww."\n";
// Пишем содержимое обратно в файл
file_put_contents($file, $current);
}// end function
  ?>
« Последнее редактирование: 28.07.2015, 17:10:59 от Stasweb »

*

gartes

  • ******
  • 951
  • 71
  • Е = mс²
Re: Возможно такое решение на VM
« Ответ #9 : 29.07.2015, 12:22:16 »
Ну знак ^ - крышка...
Это все равно что если мы сохраняем строку и ловим "/n" - это перенос строки..
В вашем случае это просто символ который указывает на то что тут мы все забрали пошли дальше..
Так понятно ?
можно как json все запятыми разделить..
Не важно как .. Важно то что бы парсер это понял ...

*

Stasweb

  • ******
  • 1058
  • 17
Re: Возможно такое решение на VM
« Ответ #10 : 29.07.2015, 12:27:45 »
Назад в базу это уходить не будет
Мне надо для ежемесячного архива сохранять заказы в Excel или в csv

*

gartes

  • ******
  • 951
  • 71
  • Е = mс²
Re: Возможно такое решение на VM
« Ответ #11 : 29.07.2015, 12:35:21 »
Ну так по тренируйтесь чтоб у Вас все проходило..Честно сказать еще с  Excel таким образом не работал...
Потому что для меня проще и! безопасней хранить это в txt файлах ...
А вот вопрос если Вы стираете заказы... А зачем...? Уклонение от Уплаты налогов...?
Это не решит вашу проблему. !important
Напишите мне и мы подумаем...

*

Stasweb

  • ******
  • 1058
  • 17
Re: Возможно такое решение на VM
« Ответ #12 : 29.07.2015, 13:06:50 »
Нет VM мы используем в компании и доступ к нему закрыт.
В заказах мы оформляем поступившие заказы в работу и по ходу их выполнения мы их удаляем.
Хранить данные в Excel или в csv необходимо для того чтоб можно было найти заказ после удаления.
Работаем без регистрации заказов по тому что не у всех пользователей есть email