Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Что означает запись


Recommended Posts

Никак не могу понять что значит запись $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url), во первых не понятна эта запись $this->url->link что она означает? 

Прошу сильно не пинать, только начинаю изучать opencart

Надіслати
Поділитися на інших сайтах


Ну.. не с этого ж начинать :)

 Это значит, что будет сформирован правильный url? и в случае при включенном SEF и нет

Надіслати
Поділитися на інших сайтах

Ну.. не с этого ж начинать :)

 Это значит, что будет сформирован правильный url? и в случае при включенном SEF и нет

1. что такое SEF?

2. 'product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url              - распишите пожалуйста что за что отвечает и что означает.

Надіслати
Поділитися на інших сайтах


Собственно цель такая: при просмотре производителя формируются объекты с ссылками типа site/алиас производителя/алиас продукта, а нужно сделать site/алиас главной категории/алиас продукта.
id главной категории уже получил а вот в впихнуть в ссылку не получется не знаю как
контроллер производителей:

<?php 
class ControllerProductManufacturer extends Controller {  
public function index() { 
$this->language->load('product/manufacturer');
 
$this->load->model('catalog/manufacturer');
 
$this->load->model('tool/image');
 
$this->document->setTitle($this->language->get('heading_title'));
 
$this->data['heading_title'] = $this->language->get('heading_title');
 
$this->data['text_index'] = $this->language->get('text_index');
$this->data['text_empty'] = $this->language->get('text_empty');
 
$this->data['button_continue'] = $this->language->get('button_continue');
 
$this->data['breadcrumbs'] = array();
 
      $this->data['breadcrumbs'][] = array(
        'text'      => $this->language->get('text_home'),
'href'      => $this->url->link('common/home'),
        'separator' => false
      );
 
$this->data['breadcrumbs'][] = array(
'text'      => $this->language->get('text_brand'),
'href'      => $this->url->link('product/manufacturer'),
'separator' => $this->language->get('text_separator')
);
 
$this->data['categories'] = array();
 
$results = $this->model_catalog_manufacturer->getManufacturers();
 
foreach ($results as $result) {
if (is_numeric(utf8_substr($result['name'], 0, 1))) {
$key = '0 - 9';
} else {
$key = utf8_substr(utf8_strtoupper($result['name']), 0, 1);
}
 
if (!isset($this->data['manufacturers'][$key])) {
$this->data['categories'][$key]['name'] = $key;
}
 
$this->data['categories'][$key]['manufacturer'][] = array(
'name' => $result['name'],
'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id'])
);
}
 
$this->data['continue'] = $this->url->link('common/home');
 
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_list.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/manufacturer_list.tpl';
} else {
$this->template = 'default/template/product/manufacturer_list.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 info() {
    $this->language->load('product/manufacturer');
 
$this->load->model('catalog/manufacturer');
 
$this->load->model('catalog/product');
 
$this->load->model('tool/image'); 
 
if (isset($this->request->get['manufacturer_id'])) {
$manufacturer_id = (int)$this->request->get['manufacturer_id'];
} else {
$manufacturer_id = 0;
 
if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.sort_order';
 
if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
 
if (isset($this->request->get['page'])) {
$page = $this->request->get['page'];
} else {
$page = 1;
}
 
if (isset($this->request->get['limit'])) {
$limit = $this->request->get['limit'];
} else {
$limit = $this->config->get('config_catalog_limit');
}
 
$this->data['breadcrumbs'] = array();
 
    $this->data['breadcrumbs'][] = array( 
        'text'      => $this->language->get('text_home'),
'href'      => $this->url->link('common/home'),
      'separator' => false
    );
   
$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($manufacturer_id);
 
if ($manufacturer_info) {
$this->document->setTitle($manufacturer_info['name']);
$this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js');
 
$url = '';
 
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
 
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
 
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
 
if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}
 
$this->data['breadcrumbs'][] = array(
        'text'      => $manufacturer_info['name'],
'href'      => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url),
      'separator' => $this->language->get('text_separator')
    );
 
$this->data['heading_title'] = $manufacturer_info['name'];
 
$this->data['text_empty'] = $this->language->get('text_empty');
$this->data['text_quantity'] = $this->language->get('text_quantity');
$this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
$this->data['text_model'] = $this->language->get('text_model');
$this->data['text_price'] = $this->language->get('text_price');
$this->data['text_tax'] = $this->language->get('text_tax');
$this->data['text_points'] = $this->language->get('text_points');
$this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
$this->data['text_display'] = $this->language->get('text_display');
$this->data['text_list'] = $this->language->get('text_list');
$this->data['text_grid'] = $this->language->get('text_grid');
$this->data['text_sort'] = $this->language->get('text_sort');
$this->data['text_limit'] = $this->language->get('text_limit');
 
$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_continue'] = $this->language->get('button_continue');
 
$this->data['compare'] = $this->url->link('product/compare');
 
$this->data['products'] = array();
 
$data = array(
'filter_manufacturer_id' => $manufacturer_id, 
'sort'                   => $sort,
'order'                  => $order,
'start'                  => ($page - 1) * $limit,
'limit'                  => $limit
);
 
$product_total = $this->model_catalog_product->getTotalProducts($data);
 
$results = $this->model_catalog_product->getProducts($data);
 
foreach ($results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_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_tax')) {
$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
} else {
$tax = false;
}
 
if ($this->config->get('config_review_status')) {
$rating = (int)$result['rating'];
} else {
$rating = false;
}
 
$categories = $this->model_catalog_product->getProductMainCategoryId($result['product_id']);
if ($categories > 0) {
$url_categories = '&category_id=' . $categories;
} else {
$url_categories = '';
}
 
$this->data['products'][] = array(
'product_id'  => $result['product_id'],
'thumb'       => $image,
'name'        => $result['name'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
'price'       => $price,
'special'     => $special,
'tax'         => $tax,
'rating'      => $result['rating'],
'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href'        => $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url)
);
}
 
$url = '';
 
if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}
 
$this->data['sorts'] = array();
 
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_default'),
'value' => 'p.sort_order-ASC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.sort_order&order=ASC' . $url)
);
 
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_name_asc'),
'value' => 'pd.name-ASC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=ASC' . $url)
); 
 
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_name_desc'),
'value' => 'pd.name-DESC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=DESC' . $url)
);
 
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_price_asc'),
'value' => 'p.price-ASC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=ASC' . $url)
); 
 
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_price_desc'),
'value' => 'p.price-DESC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=DESC' . $url)
); 
 
if ($this->config->get('config_review_status')) {
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_rating_desc'),
'value' => 'rating-DESC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=DESC' . $url)
); 
 
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_rating_asc'),
'value' => 'rating-ASC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=ASC' . $url)
);
}
 
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_model_asc'),
'value' => 'p.model-ASC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=ASC' . $url)
); 
 
$this->data['sorts'][] = array(
'text'  => $this->language->get('text_model_desc'),
'value' => 'p.model-DESC',
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url)
);
 
$url = '';
 
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
 
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
 
$this->data['limits'] = array();
 
$limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100));
 
sort($limits);
 
foreach($limits as $limits){
$this->data['limits'][] = array(
'text'  => $limits,
'value' => $limits,
'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&limit=' . $limits)
);
}
 
$url = '';
 
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
 
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
 
if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}
 
$pagination = new Pagination();
$pagination->total = $product_total;
$pagination->page = $page;
$pagination->limit = $limit;
$pagination->text = $this->language->get('text_pagination');
$pagination->url = $this->url->link('product/manufacturer/info','manufacturer_id=' . $this->request->get['manufacturer_id'] .  $url . '&page={page}');
 
$this->data['pagination'] = $pagination->render();
 
$this->data['sort'] = $sort;
$this->data['order'] = $order;
$this->data['limit'] = $limit;
 
$this->data['continue'] = $this->url->link('common/home');
 
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_info.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/manufacturer_info.tpl';
} else {
$this->template = 'default/template/product/manufacturer_info.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['manufacturer_id'])) {
$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
}
 
if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}
 
if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}
 
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
 
if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}
 
$this->data['breadcrumbs'][] = array(
'text'      => $this->language->get('text_error'),
'href'      => $this->url->link('product/category', $url),
'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());
}
  }
}
?>



Получение id категории и формирование начиная с строки 225 по 243

Надіслати
Поділитися на інших сайтах


 

при просмотре производителя формируются объекты с ссылками типа site/алиас производителя/алиас продукта, а нужно сделать site/алиас главной категории/алиас продукта.

Ну так с этого и надо было начинать

 

Посмотрите как формируются ссылки на продукты в категориях

Посмотрите в продуктах, как достается дерево категорий.

И потом сформируйте правильный путь

  • +1 1
Надіслати
Поділитися на інших сайтах

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

			$categories = $this->model_catalog_product->getProductMainCategoryId($result['product_id']);
			if ($categories > 0) {
				$url_categories = 'path=' . $categories;
			} else {
				$url_categories = '';
			}

и формирование url следующее: 

'href'        => $this->url->link('product/product', '' . $url_categories . '&product_id=' . $result['product_id'] . $url)

перед $url_categories пришлось поставить пустые кавычки - это нормально? 

можно как-то по другому?

Надіслати
Поділитися на інших сайтах


Все же нужно разобраться где и как обрабатываются эти значения
$this->url->link('product/product', 'product_id=' . $result['product_id'])
 и происходит формирование url, кто знает распишите подробно.

 

Проблема в следующем: Есть модуль productcarousel который выводит товары(в моем случае на главной) он похож на модуль featured в нем строка ответственная за ссылки товаров вот:

'href'    	 => $this->url->link('product/product', 'product_id=' . $result['product_id'])

при таком варианте формируется ссылка вида сайт/алиас_продукта

при попытке ее изменить на нужную мне: 

'href'    	 => $this->url->link('product/product', $url_categories . 'product_id=' . $result['product_id'])

где $url_categories является главной категорией товара, при таком варианте ссылки получаются сайт/алиас_категории, куда делся алиас продукта?

 

Нужно привести к виду: сайт/алиас_категории/алиас_продукта

Как привести к нужному виду в чем ошибка?

Надіслати
Поділитися на інших сайтах


Проблема в следующем: Есть модуль productcarousel который выводит товары(в моем случае на главной) он похож на модуль featured в нем строка ответственная за ссылки товаров вот:

'href'    	 => $this->url->link('product/product', 'product_id=' . $result['product_id'])
при таком варианте формируется ссылка вида сайт/алиас_продукта

при попытке ее изменить на нужную мне: 

'href'    	 => $this->url->link('product/product', $url_categories . 'product_id=' . $result['product_id'])
где $url_categories является главной категорией товара, при таком варианте ссылки получаются сайт/алиас_категории, куда делся алиас продукта?

 

Нужно привести к виду: сайт/алиас_категории/алиас_продукта

Как привести к нужному виду в чем ошибка?

 

Разобрался сам, не заметил отсутствие знака & перед product_id=

 

 

 

А вот что касается $this->url->link('product/product', 'product_id=' . $result['product_id']) остается актуальным распишите пожалуйста или дайте ссылку где расписано

Все же нужно разобраться где и как обрабатываются эти значения

$this->url->link('product/product', 'product_id=' . $result['product_id'])

 и происходит формирование url, кто знает распишите подробно.

Надіслати
Поділитися на інших сайтах


  • 2 years later...

Здравствуйте! Помогите понять, что значит запись "'.$link.'"

У меня слайдер, в который я поместила картинки, мне нужно, чтобы при нажатии на картинку, осуществлялся переход на статью, мне ответили в поддержке моего шаблона на вордпресс:

Все ссылки со слайдера ведут на страницу, которую вы укажете в functions.php.

Чтобы ссылки вели на запись слайдера, код нужно переписать.

В этом же файле замените "_Ссылка_" на "'.$link.'" в 3х местах. Я приложили скрин куска кода в файле functions.php. Подскажите, что это за запись -  "'.$link.'", на которую мне нужно заменить слово "ссылка"?

 
 

post-720078-0-11353100-1479885575_thumb.jpg

Надіслати
Поділитися на інших сайтах


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

 

это лучше спросить у вашей поддержки

если внимательно смотреть на шапку данного форума, можно увидеть что он посвящен opencart.. :oops:

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.