Post by gerrymax » Sat Sep 08, 2012 2:59 am

Hello

I have opencart new install v.1.5.4.1. So far so good !

I have purchased the following theme : http://themerz.com/oc/fashion-street

Everything is working, exept when I click on a product to get the details : Fatal error: Call to undefined method ModelCatalogProduct::getProductTags() in /home/h00103/domains/novostyl.com/public_html/OPENCART/catalog/controller/product/product.php on line 355

I have tried and put the original product.php file here : catalog/controller/product -- it is working, but then all is being screwed up I am loosing the alignment of text and pictures.

Anyone can help ? thank you !

OpenCart version : 1.5.4.1
Template - Theme used : fashionstreet


New member

Posts

Joined
Sat Sep 08, 2012 2:51 am

Post by nosecret » Sat Sep 08, 2012 9:08 am

Try contact developer first. If theme also overwrite file product.php that mean theme not compatible with OC 1.5.4.x

Active Member

Posts

Joined
Tue Dec 28, 2010 12:28 pm

Post by gerrymax » Sat Sep 08, 2012 10:27 am

Ok thank you I will contact him (or her)

Thanks !

G.

OpenCart version : 1.5.4.1
Template - Theme used : fashionstreet


New member

Posts

Joined
Sat Sep 08, 2012 2:51 am

Post by mansoorl » Thu Oct 18, 2012 6:14 am

Were you able to find an answer?

I installed a fresh copy of OpenCart, then the theme I bought. Everything was working. After that I deleted all the categories and all the sample products and added my own product and ta da, now I can't see the product detail page anymore. Getting the Fatal error: Call to undefined method ModelCatalogProduct::getProductTags() in /home/lights/public_html/catalog/controller/product/product.php on line 348

Newbie

Posts

Joined
Thu Oct 18, 2012 6:12 am

Post by Neowarex » Thu Oct 18, 2012 2:14 pm

Hi,

I had the same issue with an older template that was bought from templatemonster. I fixed it myself by replacing:

$results = $this->model_catalog_product->getProductTags($this->request->get['product_id']);

foreach ($results as $result) {
$this->data['tags'][] = array(
'tag' => $result['tag'],
'href' => $this->url->link('product/search', 'filter_tag=' . $result['tag'])
);
}

by the code that is originally in the product.php of the 1.5.4.1 opencart:

$tags = explode(',', $product_info['tag']);

foreach ($tags as $tag) {
$this->data['tags'][] = array(
'tag' => trim($tag),
'href' => $this->url->link('product/search', 'filter_tag=' . trim($tag))
);
}

Since the method getProductTags does not exist, it wasn't working, since it seems to be a function just to get the product tags, I believe it won't affect anything and seems to be working fine for me now.

I hope this helps,


Neo

Newbie

Posts

Joined
Thu Oct 18, 2012 2:11 pm

Post by gerrymax » Fri Oct 19, 2012 1:27 am

Hello all thank you for your replies. (Neowarex - mansoorl )

Actually it's a shame ! - Because yes I was able to fix this, and now all is working perfect....

Thne big thing is that I am not a PRO in php .. so please don't laugh, but I simply went in and compare the original product file with the one from my template, and I kinda changed what I thought should be changed, and I succeed !

Since I have no idea how it got fixed and I havn't got notes on it, here I am pasting the code of the catalog/controller/product/product.php file - which is working,

I am adding firt 1 - 251 lines and will post the rest in another post :

1-251

<?php
class ControllerProductProduct extends Controller {
private $error = array();

public function index() {
$this->language->load('product/product');

$this->data['breadcrumbs'] = array();

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home'),
'separator' => false
);

$this->load->model('catalog/category');

if (isset($this->request->get['path'])) {
$path = '';

foreach (explode('_', $this->request->get['path']) as $path_id) {
if (!$path) {
$path = $path_id;
} else {
$path .= '_' . $path_id;
}

$category_info = $this->model_catalog_category->getCategory($path_id);

if ($category_info) {
$this->data['breadcrumbs'][] = array(
'text' => $category_info['name'],
'href' => $this->url->link('product/category', 'path=' . $path),
'separator' => $this->language->get('text_separator')
);
}
}
}

$this->load->model('catalog/manufacturer');

if (isset($this->request->get['manufacturer_id'])) {
$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_brand'),
'href' => $this->url->link('product/manufacturer'),
'separator' => $this->language->get('text_separator')
);

$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']);

if ($manufacturer_info) {
$this->data['breadcrumbs'][] = array(
'text' => $manufacturer_info['name'],
'href' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $this->request->get['manufacturer_id']),
'separator' => $this->language->get('text_separator')
);
}
}

if (isset($this->request->get['filter_name']) || isset($this->request->get['filter_tag'])) {
$url = '';

if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . $this->request->get['filter_name'];
}

if (isset($this->request->get['filter_tag'])) {
$url .= '&filter_tag=' . $this->request->get['filter_tag'];
}

if (isset($this->request->get['filter_description'])) {
$url .= '&filter_description=' . $this->request->get['filter_description'];
}

if (isset($this->request->get['filter_category_id'])) {
$url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
}

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_search'),
'href' => $this->url->link('product/search', $url),
'separator' => $this->language->get('text_separator')
);
}

if (isset($this->request->get['product_id'])) {
$product_id = $this->request->get['product_id'];
} else {
$product_id = 0;
}

$this->load->model('catalog/product');

$product_info = $this->model_catalog_product->getProduct($product_id);

$this->data['product_info'] = $product_info;

if ($product_info) {
$url = '';

if (isset($this->request->get['path'])) {
$url .= '&path=' . $this->request->get['path'];
}

if (isset($this->request->get['manufacturer_id'])) {
$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
}

if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . $this->request->get['filter_name'];
}

if (isset($this->request->get['filter_tag'])) {
$url .= '&filter_tag=' . $this->request->get['filter_tag'];
}

if (isset($this->request->get['filter_description'])) {
$url .= '&filter_description=' . $this->request->get['filter_description'];
}

if (isset($this->request->get['filter_category_id'])) {
$url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
}

$this->data['breadcrumbs'][] = array(
'text' => $product_info['name'],
'href' => $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id']),
'separator' => $this->language->get('text_separator')
);

$this->document->setTitle($product_info['name']);
$this->document->setDescription($product_info['meta_description']);
$this->document->setKeywords($product_info['meta_keyword']);
$this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical');

$this->data['heading_title'] = $product_info['name'];

$this->data['text_select'] = $this->language->get('text_select');
$this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
$this->data['text_model'] = $this->language->get('text_model');
$this->data['text_reward'] = $this->language->get('text_reward');
$this->data['text_points'] = $this->language->get('text_points');
$this->data['text_discount'] = $this->language->get('text_discount');
$this->data['text_stock'] = $this->language->get('text_stock');
$this->data['text_price'] = $this->language->get('text_price');
$this->data['text_tax'] = $this->language->get('text_tax');
$this->data['text_discount'] = $this->language->get('text_discount');
$this->data['text_option'] = $this->language->get('text_option');
$this->data['text_qty'] = $this->language->get('text_qty');
$this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
$this->data['text_or'] = $this->language->get('text_or');
$this->data['text_write'] = $this->language->get('text_write');
$this->data['text_note'] = $this->language->get('text_note');
$this->data['text_share'] = $this->language->get('text_share');
$this->data['text_wait'] = $this->language->get('text_wait');
$this->data['text_tags'] = $this->language->get('text_tags');

$this->data['entry_name'] = $this->language->get('entry_name');
$this->data['entry_review'] = $this->language->get('entry_review');
$this->data['entry_rating'] = $this->language->get('entry_rating');
$this->data['entry_good'] = $this->language->get('entry_good');
$this->data['entry_bad'] = $this->language->get('entry_bad');
$this->data['entry_captcha'] = $this->language->get('entry_captcha');

$this->data['button_cart'] = $this->language->get('button_cart');
$this->data['button_wishlist'] = $this->language->get('button_wishlist');
$this->data['button_compare'] = $this->language->get('button_compare');
$this->data['button_upload'] = $this->language->get('button_upload');
$this->data['button_continue'] = $this->language->get('button_continue');

$this->load->model('catalog/review');

$this->data['tab_description'] = $this->language->get('tab_description');
$this->data['tab_attribute'] = $this->language->get('tab_attribute');
$this->data['tab_review'] = sprintf($this->language->get('tab_review'), $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']));
$this->data['tab_related'] = $this->language->get('tab_related');

$this->data['product_id'] = $this->request->get['product_id'];
$this->data['manufacturer'] = $product_info['manufacturer'];
$this->data['manufacturers'] = $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']);
$this->data['model'] = $product_info['model'];
$this->data['reward'] = $product_info['reward'];
$this->data['points'] = $product_info['points'];

if ($product_info['quantity'] <= 0) {
$this->data['stock'] = $product_info['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
$this->data['stock'] = $product_info['quantity'];
} else {
$this->data['stock'] = $this->language->get('text_instock');
}

$this->load->model('tool/image');

if ($product_info['image']) {
$this->data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height'));
} else {
$this->data['popup'] = '';
}
$manufacturer_image = $this->model_catalog_manufacturer->getManufacturer($product_info['manufacturer_id']);

if($manufacturer_image){
$this->data['manufacturers_img'] = $this->model_tool_image->resize($manufacturer_image['image'], 120, 80);
}else{
$this->data['manufacturers_img'] = false;
}

if ($product_info['image']) {
$max_width = (int)320;
$max_height = (int)310;
$oldsize = getimagesize(DIR_IMAGE.$product_info['image']);
// Calculate the scaling we need to do to fit the image inside our frame
$scale = min($max_width/$oldsize[0], $max_height/$oldsize[1]);
// Get the new dimensions
$new_width = ceil($scale*$oldsize[0]);
$new_height = ceil($scale*$oldsize[1]);
$this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $new_width , $new_height);
} else {
$this->data['thumb'] = '';
}
//Zoom with Tent
$this->data['thumb2'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
$this->data['thumb1'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'));
//Zoom with Tent

$this->data['images'] = array();

$results = $this->model_catalog_product->getProductImages($this->request->get['product_id']);

foreach ($results as $result) {
$this->data['images'][] = array(
'popup' => $this->model_tool_image->resize($result['image'] , $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),
'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')),
//Zoom with Tent
'thumb2' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')),
'thumb1' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')),
//Zoom with Tent
);
}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$this->data['price'] = false;
}

if ((float)$product_info['special']) {
$this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$this->data['special'] = false;
}




I hope you will be able to compare and see the difference ! and fix your site.

Thanks,
Géraldine

OpenCart version : 1.5.4.1
Template - Theme used : fashionstreet


New member

Posts

Joined
Sat Sep 08, 2012 2:51 am

Post by gerrymax » Fri Oct 19, 2012 1:28 am

--- Here are lines 252 to 594 :


if ($this->config->get('config_tax')) {
$this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']);
} else {
$this->data['tax'] = false;
}

$discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']);

$this->data['discounts'] = array();

foreach ($discounts as $discount) {
$this->data['discounts'][] = array(
'quantity' => $discount['quantity'],
'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
);
}

$this->data['options'] = array();

foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) {
if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') {
$option_value_data = array();

foreach ($option['option_value'] as $option_value) {
if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
$option_value_data[] = array(
'product_option_value_id' => $option_value['product_option_value_id'],
'option_value_id' => $option_value['option_value_id'],
'name' => $option_value['name'],
'price' => (float)$option_value['price'] ? $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) : false,
'price_prefix' => $option_value['price_prefix']
);
}
}

$this->data['options'][] = array(
'product_option_id' => $option['product_option_id'],
'option_id' => $option['option_id'],
'name' => $option['name'],
'type' => $option['type'],
'option_value' => $option_value_data,
'required' => $option['required']
);
} elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') {
$this->data['options'][] = array(
'product_option_id' => $option['product_option_id'],
'option_id' => $option['option_id'],
'name' => $option['name'],
'type' => $option['type'],
'option_value' => $option['option_value'],
'required' => $option['required']
);
}
}

if ($product_info['minimum']) {
$this->data['minimum'] = $product_info['minimum'];
} else {
$this->data['minimum'] = 1;
}

$this->data['review_status'] = $this->config->get('config_review_status');
$this->data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']);
$this->data['rating'] = (int)$product_info['rating'];
$this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
$this->data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);

$this->data['products'] = array();

$results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);

foreach ($results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height'));
} else {
$image = false;
}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}

if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}

if ($this->config->get('config_review_status')) {
$rating = (int)$result['rating'];
} else {
$rating = false;
}

$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
);
}

$this->data['tags'] = array();



foreach ($results as $result) {
$this->data['tags'][] = array(
'tag' => $result['tag'],
'href' => $this->url->link('product/search', 'filter_tag=' . $result['tag'])
);
}

$this->model_catalog_product->updateViewed($this->request->get['product_id']);

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/product.tpl';
} else {
$this->template = 'default/template/product/product.tpl';
}

$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);

$this->response->setOutput($this->render());
} else {
$url = '';

if (isset($this->request->get['path'])) {
$url .= '&path=' . $this->request->get['path'];
}

if (isset($this->request->get['manufacturer_id'])) {
$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
}

if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . $this->request->get['filter_name'];
}

if (isset($this->request->get['filter_tag'])) {
$url .= '&filter_tag=' . $this->request->get['filter_tag'];
}

if (isset($this->request->get['filter_description'])) {
$url .= '&filter_description=' . $this->request->get['filter_description'];
}

if (isset($this->request->get['filter_category_id'])) {
$url .= '&filter_category_id=' . $this->request->get['filter_category_id'];
}

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_error'),
'href' => $this->url->link('product/product', $url . '&product_id=' . $product_id),
'separator' => $this->language->get('text_separator')
);

$this->document->setTitle($this->language->get('text_error'));

$this->data['heading_title'] = $this->language->get('text_error');

$this->data['text_error'] = $this->language->get('text_error');

$this->data['button_continue'] = $this->language->get('button_continue');

$this->data['continue'] = $this->url->link('common/home');

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
$this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
} else {
$this->template = 'default/template/error/not_found.tpl';
}

$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);

$this->response->setOutput($this->render());
}
}

public function review() {
$this->language->load('product/product');

$this->load->model('catalog/review');

$this->data['text_no_reviews'] = $this->language->get('text_no_reviews');

if (isset($this->request->get['page'])) {
$page = $this->request->get['page'];
} else {
$page = 1;
}

$this->data['reviews'] = array();

$review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']);

$results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5);

foreach ($results as $result) {
$this->data['reviews'][] = array(
'author' => $result['author'],
'text' => strip_tags($result['text']),
'rating' => (int)$result['rating'],
'reviews' => sprintf($this->language->get('text_reviews'), (int)$review_total),
'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
);
}

$pagination = new Pagination();
$pagination->total = $review_total;
$pagination->page = $page;
$pagination->limit = 5;
$pagination->text = $this->language->get('text_pagination');
$pagination->url = $this->url->link('product/product/review', 'product_id=' . $this->request->get['product_id'] . '&page={page}');

$this->data['pagination'] = $pagination->render();

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/review.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/review.tpl';
} else {
$this->template = 'default/template/product/review.tpl';
}

$this->response->setOutput($this->render());
}

public function write() {
$this->language->load('product/product');

$this->load->model('catalog/review');

$json = array();

if ((strlen(utf8_decode($this->request->post['name'])) < 3) || (strlen(utf8_decode($this->request->post['name'])) > 25)) {
$json['error'] = $this->language->get('error_name');
}

if ((strlen(utf8_decode($this->request->post['text'])) < 25) || (strlen(utf8_decode($this->request->post['text'])) > 1000)) {
$json['error'] = $this->language->get('error_text');
}

if (!$this->request->post['rating']) {
$json['error'] = $this->language->get('error_rating');
}

if (!isset($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
$json['error'] = $this->language->get('error_captcha');
}

if (($this->request->server['REQUEST_METHOD'] == 'POST') && !isset($json['error'])) {
$this->model_catalog_review->addReview($this->request->get['product_id'], $this->request->post);

$json['success'] = $this->language->get('text_success');
}

$this->load->library('json');

$this->response->setOutput(Json::encode($json));
}

public function captcha() {
$this->load->library('captcha');

$captcha = new Captcha();

$this->session->data['captcha'] = $captcha->getCode();

$captcha->showImage();
}

public function upload() {
$this->language->load('product/product');

$json = array();

if (isset($this->request->files['file']['name']) && $this->request->files['file']['name']) {
if ((strlen(utf8_decode($this->request->files['file']['name'])) < 3) || (strlen(utf8_decode($this->request->files['file']['name'])) > 128)) {
$json['error'] = $this->language->get('error_filename');
}

$allowed = array();

$filetypes = explode(',', $this->config->get('config_upload_allowed'));

foreach ($filetypes as $filetype) {
$allowed[] = trim($filetype);
}

if (!in_array(substr(strrchr($this->request->files['file']['name'], '.'), 1), $allowed)) {
$json['error'] = $this->language->get('error_filetype');
}

if ($this->request->files['file']['error'] != UPLOAD_ERR_OK) {
$json['error'] = $this->language->get('error_upload_' . $this->request->files['file']['error']);
}
} else {
$json['error'] = $this->language->get('error_upload');
}

if (($this->request->server['REQUEST_METHOD'] == 'POST') && !isset($json['error'])) {
if (is_uploaded_file($this->request->files['file']['tmp_name']) && file_exists($this->request->files['file']['tmp_name'])) {
$file = basename($this->request->files['file']['name']) . '.' . md5(rand());

// Hide the uploaded file name sop people can not link to it directly.
$this->load->library('encryption');

$encryption = new Encryption($this->config->get('config_encryption'));

$json['file'] = $encryption->encrypt($file);

move_uploaded_file($this->request->files['file']['tmp_name'], DIR_DOWNLOAD . $file);
}

$json['success'] = $this->language->get('text_upload');
}

$this->load->library('json');

$this->response->setOutput(Json::encode($json));
}
}
?>

OpenCart version : 1.5.4.1
Template - Theme used : fashionstreet


New member

Posts

Joined
Sat Sep 08, 2012 2:51 am

Post by aftabhussainnohrio » Thu Jan 24, 2013 8:13 pm

can any one please help me as my project is hold due to one fatel error,

when i click product the below error come suddenly,

Fatal error: Call to undefined method ModelCatalogProduct::getProductTags() in /home/cockycat/public_html/catalog/controller/product/product.php on line 346


is there any one genius of PHP and open cart who can fix my problem

thanks


Posts

Joined
Thu Jan 24, 2013 8:08 pm

Post by joeymagsino » Wed May 22, 2013 11:13 pm

aftabhussainnohrio wrote:can any one please help me as my project is hold due to one fatel error,

when i click product the below error come suddenly,

Fatal error: Call to undefined method ModelCatalogProduct::getProductTags() in /home/cockycat/public_html/catalog/controller/product/product.php on line 346


is there any one genius of PHP and open cart who can fix my problem

thanks
you can get the getProductTags in the old version of opencart 1.5.3 .. its on admin/model/catalog/product.php
opencart 1.5.4 up already removed that function, probably you its just your mods that is using it because its outdated..
but anyway for your convenience here is the getProductTag function lifted from that file

Code: Select all

	public function getProductTags($product_id) {
		$product_tag_data = array();
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_tag WHERE product_id = '" . (int)$product_id . "'");
		
		$tag_data = array();
		
		foreach ($query->rows as $result) {
			$tag_data[$result['language_id']][] = $result['tag'];
		}
		
		foreach ($tag_data as $language => $tags) {
			$product_tag_data[$language] = implode(',', $tags);
		}
		
		return $product_tag_data;
	}

Newbie

Posts

Joined
Thu Apr 05, 2012 1:21 pm
Who is online

Users browsing this forum: No registered users and 93 guests