Форум русской поддержки Joomla!® CMS
08.12.2016, 02:18:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Требуется прикрепить к товару прайс

 (Прочитано 230 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 951



« : 24.02.2016, 09:45:59 »

Требуется прикрепить к разному товару разный прайс.
Возможно ли допустим в информации о товаре прикреплять файл и выводить его в товаре допустим как pdf или еще какой другой.
Может есть плагин для VirtueMart уже готовой или что то похожее на это.
Записан
gartes
Живу я здесь
******

Репутация: +63/-3
Offline Offline

Сообщений: 827


Е = mс²


« Ответ #1 : 24.02.2016, 12:41:07 »

Да есть..
1 Создаете обычное текстовое кастомарное поле. в нем пишете price_product_id111.pdf
2 За тем этому полю указываете позицию вывода. К примеру downolad_price
3 В файле шаблона (Скорее всего что это будет /productdetails/default.php ) Выводите эту позицию кастомарного поля.
Это можно сделать следующим способом.
Код
 echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$this->product,  'position'=>'downolad_price' )); ?>
 
4 для того что бы это выводилось так как нам нужно не просто текстовой строкой а ссылкой на файл нужно
а) в папке sublayouts сделать копию файла customfields.php и переименовать его в cf_downolad_price.php
б) Верхний код немного изменим заменив макет костомарного поля на копию. Т.е. customfields на => cf_downolad_price
Код
 echo shopFunctionsF::renderVmSubLayout('cf_downolad_price',array('product'=>$this->product,  'position'=>'downolad_price' )); ?>
 
в) Находим в файле cf_downolad_price.php строку
Код
<?php echo $field->display ?>
и заменяем ее строкой
Код:
<a href="/dir_download_price/<= $field->display ?>">Скачать Прайс.!</a>

Вот вроде и все.. Пользуйтесь ))
PS Есть тут еще один плюс. То что каждый товар может иметь сколько угодно прайсов.. (оптовый розница... и тд...)  
... Не забудьте про переопределения макетов в шаблоне
 
« Последнее редактирование: 24.02.2016, 12:44:14 от gartes » Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 951



« Ответ #2 : 24.02.2016, 12:50:01 »

Такой способ тоже интересен.
Создавал примерно таким же путем только с редактором. В настраиваемые поля создал поле редактор и указал позицию макета price в productdetails/default.php прописал в нужном месте
Код:
<?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$this->product,'position'=>'price','class'=> 'product-price')); ?>
и там ссылки указывал на прайс.
Возможно вывести не ссылку а именно сам файл пусть не pdf а другой формат.
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 951



« Ответ #3 : 24.02.2016, 13:16:23 »

Вот рабочий вариант.
Все что вы описали кроме <a href="/dir_download_price/<= $field->display ?>">Скачать Прайс.!</a> это не надо а в место <?php echo $field->display ?> пишем
Код:
<div class="product-field-display">
<object data="<?php echo $field->display ?>" type="application/pdf" width="90%" height="450px"><a href="<?php echo $field->display ?>" >Прайс</a> </object>
</div>
и в поле Область текста указываем путь до прайса /images/price/price.pdf все работает.
Спасибо что ответили
Записан
gartes
Живу я здесь
******

Репутация: +63/-3
Offline Offline

Сообщений: 827


Е = mс²


« Ответ #4 : 24.02.2016, 13:23:49 »

Тут не много не понятен вопрос
Цитировать
Возможно вывести не ссылку а именно сам файл пусть не pdf а другой формат.

Т.е. прайс скажем это просто скрин в формате .jpg /////  ? или какой другой формат ?

К примеру что бы вытащить pdf на страницу то код из предыдущего моего поста
Код:
<a href="/dir_download_price/<= $field->display ?>">Скачать Прайс.!</a>
Нужно немного изменить.
Код:
<object data="/dir_download_price/<= $field->display ?>" type="application/pdf" width="90%" height="450px">
alt: <a href="/dir_download_price/<= $field->display ?>">Прайс к товару</a>
</object>
тег "<object>" вроде все понимают IE || Opera 4+

Цитировать
В настраиваемые поля создал поле редактор
Поле редактор не все редакторы будут пропускать код html-я

Записан
gartes
Живу я здесь
******

Репутация: +63/-3
Offline Offline

Сообщений: 827


Е = mс²


« Ответ #5 : 24.02.2016, 13:24:54 »

Ну да...  Grin
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 951



« Ответ #6 : 24.02.2016, 14:37:25 »

Вопрос встал теперь как сделать только для зарегистрированных так как Только администратор установлен да но все таки он его отображает.
Ставлю Скрыто да то везде пропадает.
Возможно ли вот эту часть
Код:
<?php echo shopFunctionsF::renderVmSubLayout('cf_downolad_price',array('product'=>$this->product, 'position'=>'pdf_price' )); ?> 
Показывать только как для зарегистрированных.
Записан
gartes
Живу я здесь
******

Репутация: +63/-3
Offline Offline

Сообщений: 827


Е = mс²


« Ответ #7 : 24.02.2016, 14:41:45 »

Конечно!!
Модель пользователя ...
Юзер групп..
и тд.. Понятно или нет ? ))))
Записан
gartes
Живу я здесь
******

Репутация: +63/-3
Offline Offline

Сообщений: 827


Е = mс²


« Ответ #8 : 24.02.2016, 14:43:19 »

Посмотрите как скрывается или показывается редактирование Joomla для админа на морде сайта ...
Записан
gartes
Живу я здесь
******

Репутация: +63/-3
Offline Offline

Сообщений: 827


Е = mс²


« Ответ #9 : 24.02.2016, 15:26:23 »

Я бы немного модернизировал Ваш  код...
Код:
<object data="<?php echo $field->display ?>" type="application/pdf" width="90%" height="450px"><a href="<?php echo $field->display ?>" >Прайс</a> </object>
так в базу будет писать каждый раз весь путь к файлу. /images/price/ это не рационально .)

Код:
<?php $field->display ='price.pdf'; ?>
<object data="/images/price/<?php echo $field->display ?>" type="application/pdf" width="90%" height="450px"><a href="/images/price/<?php echo $field->display ?>" >Прайс</a> </object>
а так в базе будет хранить только price.pdf.
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 951



« Ответ #10 : 24.02.2016, 15:35:55 »

А зачем <?php $field->display ='price.pdf'; ?> можно просто /images/price/<?php echo $field->display ?>
Ведь прайсы будут разные по названию
Записан
gartes
Живу я здесь
******

Репутация: +63/-3
Offline Offline

Сообщений: 827


Е = mс²


« Ответ #11 : 24.02.2016, 15:42:22 »

Цитировать
А зачем <?php $field->display ='price.pdf'; ?>
Ой да это просто так написал что бы понятно было.. Что там будет в этой переменной.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet