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

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

Fatal error: Call to undefined method VmVendorPDF

 (Прочитано 1088 раз)
0 Пользователей и 1 Гость смотрят эту тему.
David_99
Осваиваюсь на форуме
***

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

Сообщений: 144



« : 17.09.2014, 17:27:01 »

Здравствуйте.
Проблема на сайте связана с оформлением заказа.При нажатия на "Оформить заказ" выводится белый пустой экран.Никаких ошибок.
После включения показа ошибок выводится следующее:"Fatal error: Call to undefined method VmVendorPDF::convertHTMLColorToDec() in /home/s/"Хост"/Ваш сайт/public_html/components/com_virtuemart/helpers/vmpdf.php on line 111".
 
В некоторых сайтах предлагалось  обновить VirtueMart aio.Но обновить его нельзя, без обновления самого VM.А сам VM обновить никак, много нервов и времени было потрачено на его перевод, настройку и т.д.

Неужели придется идти на крайние меры и начать все заново?
Записан
David_99
Осваиваюсь на форуме
***

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

Сообщений: 144



« Ответ #1 : 27.09.2014, 15:23:11 »

Проблему решил без обновления.Просто заменил файлы из рабочего сайта, где произошли ошибки.Правда пришлось заменить больше 30 файлов, но да ладно.Главное, что все работает  Smiley
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #2 : 08.12.2014, 15:19:10 »

Товарищи! Помогите!

VirtueMart 3.0.2 + Joomla 2.5.14 + vmvendor 1.2.8

На фронте, при добавлении товара в магазин с помощью vmvendor ошибка (Warning: Invalid argument supplied for foreach(/components/com_vmvendor/views/addproduct/tmpl/default.php on line 884))

Вот этот кусочек отвечает за ошибку (с третьей строки). Как видим проблема с дополнительными полями.
Разработчик дописал, что эта ф. еще не доработана.

Давайте попробует решить эту проблему. Мне кажется, что в вер. 1.2.9 или выше этот участок уже в порядке. Если у кого-то есть свежак прошу поделиться, хотя бы этим кусочком кода.
Ну а пока прошу помочь с функцией ($this->core_custom_fields as $core_custom_field)

в файле view.html.php эта функция объявлена таким образом ($this->core_custom_fields      = $this->get('corecustomfields')Wink

очень, очень прошу помощи.

Код:
////////////////////////////// Core Custom fields support Hasardous place as VirtueMart shared and multivendor custom fields is not totally done yet.

if($enable_corecustomfields){
$i = 0;
foreach ($this->core_custom_fields as $core_custom_field){
$i++;
echo  '<tr align="left" class="sectiontableentry2">';
echo $typefield;
echo $core_custom_field;
echo $this->loadTemplate('customfields');
echo '<td>';
//echo 'Under dev: ';
echo $core_custom_field->custom_title;
echo $typefield->custom_title;

if($typefield->custom_tip !='' OR $typefield->custom_field_desc!='' )
echo ' <img src="'.$juri.'components/com_vmvendor/assets/img/info.png" title="'.$typefield->custom_tip.'::'.$typefield->custom_field_desc.'" width="16" height="16" alt="" class="'.$tooltip_class.'"/>';
echo  '</td>';
echo '<td >';

switch($typefield->field_type){
case "S":  //string
$core_custom_field_custom_value = $core_custom_field->custom_value;
if (JRequest::getVar('get_cf'.$i)!='')
$core_custom_field_custom_value = JRequest::getVar('get_cf'.$i);
echo '<input name="corecustomfield_'.$i.'" type="text" value="'.$core_custom_field_custom_value.'" size="50" ';
if (JRequest::getVar('get_cf'.$i)!='')
echo ' readonly="readonly" ';
echo '/>';
break;
case "I": // integer
echo '<input name="corecustomfield_'.$i.'" type="text" value="'.$core_custom_field->custom_value.'" size="50"  />';
break;
case "B": // bolean
echo '<input name="corecustomfield_'.$i.'" id="corecustomfield_'.$i.'_0" type="radio"   value="0" ';
if($core_custom_field->custom_value =='0' )
echo ' checked="checked" ';
echo  '/> <label for="corecustomfield_'.$i.'_0">'.JText::_('JNo').'</label>
<input name="corecustomfield_'.$i.'" id="corecustomfield_'.$i.'_1"   type="radio"    value="1"';
if($core_custom_field->custom_value =='1' )
echo ' checked="checked" ';
echo ' /> <label for="corecustomfield_'.$i.'_1">'.JText::_('JYes').'</label>';
break;
case "D": // date

echo JHTML::calendar('','corecustomfield_'.$i ,'corecustomfield_'.$i,'%Y-%m-%d');
break;
case "T": // time
echo '<input name="corecustomfield_'.$i.'" type="text" value="'.$core_custom_field->custom_value.'" size="50"  />';
break;
case "M": // image

break;
case "V": // cart variant
echo '<input name="corecustomfield_'.$i.'" type="text" value="'.$core_custom_field->custom_value.'" size="50"  />';
break;
case "A": // generic Child variant
                    //vmdebug('displayProductCustomfieldBE $field',$field);
                    if(!isset($field->withParent)) $field->withParent = 0;
                    if(!isset($field->parentOrderable)) $field->parentOrderable = 0;
                    //vmdebug('displayProductCustomfieldFE',$field);
                    if (!class_exists('VmHTML')) require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'html.php');
                    $html = JText::_('COM_VIRTUEMART_CUSTOM_WP').VmHTML::checkbox('field[' . $row . '][withParent]',$field->withParent,1,0,'').'<br />';
                    $html .= JText::_('COM_VIRTUEMART_CUSTOM_PO').VmHTML::checkbox('field[' . $row . '][parentOrderable]',$field->parentOrderable,1,0,'');

                    $options = array();
//                  $options[] = array( 'value' => 'product_name' ,'text' =>JText::_('COM_VIRTUEMART_PRODUCT_FORM_NAME')); Is anyway displayed there
                    $options[] = array('value' => 'product_sku', 'text' => JText::_ ('COM_VIRTUEMART_PRODUCT_SKU'));
                    $options[] = array('value' => 'slug', 'text' => JText::_ ('COM_VIRTUEMART_PRODUCT_ALIAS'));
                    $options[] = array('value' => 'product_length', 'text' => JText::_ ('COM_VIRTUEMART_PRODUCT_LENGTH'));
                    $options[] = array('value' => 'product_width', 'text' => JText::_ ('COM_VIRTUEMART_PRODUCT_WIDTH'));
                    $options[] = array('value' => 'product_height', 'text' => JText::_ ('COM_VIRTUEMART_PRODUCT_HEIGHT'));
                    $options[] = array('value' => 'product_weight', 'text' => JText::_ ('COM_VIRTUEMART_PRODUCT_WEIGHT'));

                    $html .= JHTML::_ ('select.genericlist', $options, 'field[' . $row . '][custom_value]', '', 'value', 'text', $field->custom_value). '</td><td>' . $priceInput;
                    return $html;
                    //                  return 'Automatic Childvariant creation (later you can choose here attributes to show, now product name) </td><td>';
                // variants
break;
case "X": // editor
jimport( 'joomla.html.editor' );
$editor = &JFactory::getEditor();
$editor_customfield_html = $editor->display("corecustomfield_".$i , $core_custom_field->custom_value , "100%;", '200', '5', '30', false);
echo  $editor_customfield_html;

break;

case "Y": // textarea
echo '<textarea name="corecustomfield_'.$i.'" >';
echo $core_custom_field->custom_value;
echo '</textarea>';
break;
}
echo '</td>';
echo  '</tr>';
}
}
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

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


« Ответ #3 : 08.12.2014, 20:55:51 »

Ну а пока прошу помочь с функцией ($this->core_custom_fields as $core_custom_field)
Это аргументы, и не функции, а конструкции цикла foreach. В чем требуется помощь?
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #4 : 09.12.2014, 19:50:26 »

Это аргументы, и не функции, а конструкции цикла foreach. В чем требуется помощь?

Эскъюзми за неправильную терминологию. Хотелось бы, чтобы на страничке добавления (в форме добавления) товара выводились и дополнительные поля. Сейчас они не выводятся. Пробую поставить связку начисто, предчувствую, что результата не будет

Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

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


« Ответ #5 : 09.12.2014, 21:48:34 »

vmvendor не юзаю, но раз выдается такое предупреждение, значит $this->core_custom_fields - не массив. Проверьте метод get('corecustomfields').
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #6 : 10.12.2014, 16:26:45 »

vmvendor не юзаю, но раз выдается такое предупреждение, значит $this->core_custom_fields - не массив. Проверьте метод get('corecustomfields').


После переустановки vmvendor Ошибка исчезла, но поля не отображаются. Остается разобраться почему.
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #7 : 10.12.2014, 16:27:52 »

vmvendor не юзаю, но раз выдается такое предупреждение, значит $this->core_custom_fields - не массив. Проверьте метод get('corecustomfields').

А что юз? Что можно как альтернативу использовать? В сети ничего не нарыл.
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

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


« Ответ #8 : 10.12.2014, 17:46:27 »

В самом начале файла вставьте
Код
echo '<pre>';
print_r($this->core_custom_fields);
echo '</pre>';
 
и посмотрите, что выводится.
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #9 : 10.12.2014, 19:22:51 »

В самом начале файла вставьте
Код
echo '<pre>';
print_r($this->core_custom_fields);
echo '</pre>';
 
и посмотрите, что выводится.

где бы не вставлял выводит либо
Array
(
)
либо пустое место
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

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


« Ответ #10 : 10.12.2014, 21:58:51 »

Поищите в models/addproduct.php функцию getcorecustomfields().
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #11 : 11.12.2014, 17:16:29 »

такая функция есть
Код:
public function getCorecustomfields()

{

$db = &JFactory::getDBO();

$q ="SELECT `virtuemart_custom_id` , `custom_parent_id` , `virtuemart_vendor_id` , `custom_jplugin_id` , `custom_title` , `custom_tip` , `custom_value`, `custom_field_desc` , `field_type` , `is_list` , `shared` 

FROM `#__virtuemart_customs`

WHERE `custom_jplugin_id`='0'

AND `admin_only`='0'

AND `published`='1'

AND `custom_element`!=''

ORDER BY `ordering` ASC , `virtuemart_custom_id` ASC ";

$db->setQuery($q);

$core_custom_fields = $db->loadObjectList();

$this->_core_custom_fields = $core_custom_fields;

return $this->_core_custom_fields;

}
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #12 : 11.12.2014, 17:50:28 »

Еще один интересный вопрос (момент):
На стр. Мои товары выводятся товары с одним изображением (это очень неудобно). Задумал я вывести дополнительные изо-я, как в самом витре и вот он код.
Не могу понят как зациклить вывод. Выводит одну и туже картинку или просто "i". Смотрю в нет php, но без совета уже много кофе выпил а дело стоит. Подскажите пожалуйста. Эта ветка может стать интересной, по модернизации vmvendora.
Код:
$q ="SELECT vm.`file_url_thumb`
FROM `#__virtuemart_medias` vm
LEFT JOIN `#__virtuemart_product_medias` vpm ON vpm.`virtuemart_media_id` = vm.`virtuemart_media_id`
WHERE vpm.`virtuemart_product_id`='".$product->virtuemart_product_id."'
AND vm.`file_mimetype` LIKE 'image/%'
ORDER BY vm.`file_is_product_image` DESC ";
$db->setQuery($q); //3. Установим этот запрос в экземпляр класса работы с базами данных
$db->query(); //4.  Выполним запрос
echo ' '.$db->getAffectedRows ().''; //5. Посмотрим  сколько было задействовано строк

$thumburl = $db->loadResult();

if(!$thumburl)
$thumburl = 'components/com_virtuemart/assets/images/vmgeneral/'.VmConfig::get('no_image_set');

echo '<div class="browsecellwidth">';
echo $product->virtuemart_vendor_id;
echo '<div class="compaign-name"><h6><a href="'.$product_url.'" >'.ucfirst($product->product_name).'</a></h6></div>';
echo '<div class="holder-compaign-avatar"><div class="slider"><div class="slides">';
$count_images = $db->getAffectedRows ();
echo $count_images;
if ($count_images > 10) {
for ($i = 1; $i < 10; $i++)
{
$img = $thumburl[$i];
echo '<div class="slide"><a href="'.$juri.$img.'" alt="'.ucfirst($product->product_name).'" data-lightbox="roadtrip['.ucfirst($product->product_name).']" tite="'.ucfirst($product->product_s_desc).'" data-title="'.ucfirst($product->product_s_desc).'"><img src="'.$juri.$img.'" class="compaign-avatar"></a></div>';
}
} else {
for ($i = 0; $i < $count_images; $i++)
{
$img = $thumburl[$i];
echo '<div class="slide"><a href="'.$juri.$img.'" alt="'.ucfirst($product->product_name).'" data-lightbox="roadtrip['.ucfirst($product->product_name).']" tite="'.ucfirst($product->product_s_desc).'" data-title="'.ucfirst($product->product_s_desc).'"><img src="'.$juri.$img.'" class="compaign-avatar"></a></div>';


Странно, что разработчик не удосужился завести функцию  вывести доп. изо. Все делается непосредственно в темплейте. И сам темплейт кривой. Решил его переделать. С Вашей помощью может получиться чудненький ап. Могу выложить результат
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #13 : 11.12.2014, 18:00:22 »

... еще хочу поставить LIMIT 10 в запрос (чтобы ограничить. Вдруг придет в голову кому-то 100 изо закинуть:)) а он ругается
Код:
$q ="SELECT vm.`file_url_thumb`
FROM `#__virtuemart_medias` vm
LEFT JOIN `#__virtuemart_product_medias` vpm ON vpm.`virtuemart_media_id` = vm.`virtuemart_media_id`
WHERE vpm.`virtuemart_product_id`='".$product->virtuemart_product_id."'
AND vm.`file_mimetype` LIKE 'image/%'
ORDER BY vm.`file_is_product_image` DESC ";
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

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


« Ответ #14 : 11.12.2014, 18:17:34 »

Значит, како(и)е-то из этих условий
Код
		WHERE `custom_jplugin_id`='0' 
 
AND `admin_only`='0'
 
AND `published`='1'
 
AND `custom_element`!=''
 
не выполняе(ю)тся.
Не превращайте тему в ваш личный блог.
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

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



« Ответ #15 : 11.12.2014, 18:43:49 »

Извините. А где можно обсуждать эту тему? Вы, собственно, единственный кто отвечает. Спасибо!
Записан
darkskai
Осваиваюсь на форуме
***

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

Сообщений: 42



« Ответ #16 : 16.06.2015, 04:04:58 »

поставил доп плагин с сайта разработчика и нет проблем все заработало
vrtuemart 2.6.18 - Joomla 2.5

com_tcpdf_for_vm2.zip  для 2.6.17

http://dev.virtuemart.net/projects/virtuemart/files




* com_tcpdf_for_vm2.zip (918.6 Кб - загружено 14 раз.)
« Последнее редактирование: 16.06.2015, 11:26:53 от darkskai » Записан
artsasha
Захожу иногда
**

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

Сообщений: 20


« Ответ #17 : 17.11.2016, 15:20:05 »

поставил доп плагин с сайта разработчика и нет проблем все заработало
vrtuemart 2.6.18 - Joomla 2.5

com_tcpdf_for_vm2.zip  для 2.6.17

http://dev.virtuemart.net/projects/virtuemart/files




Да. спасибо. этот вариант работает.
НО. нужно добавить что сначала нужно предыдущий удальнуть, а потом этот накатить. Два дня решал проблему Azn
Записан
Страниц: [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