Jump to content
Sign in to follow this  
elscept

[Решено] Вывод seo-url в списке товаров в админке

Recommended Posts

Пришла в голову идея реализовать отображение ЧПУ (seo-url, keyword, url_alias) в списке товаров в админке, а то открывать каждый товар чтобы посмотреть его ЧПУ - это просто каменный век какой-то.

 

В файле admin/view/template/catalog/product_list.tpl добавил в ячейку с названием товара код

<br />
<span style="font-size:11px;color:#777;">
    <?php echo $product['keyword']; ?>
</span>

В файле admin/controller/catalog/product.php после

$this->data['products'][] = array(
    'product_id' => $result['product_id'],
    'name'       => $result['name'],

добавил

    'keyword'    => $result['url_alias'],

В файле admin/model/catalog/product.php после

$sql = "SELECT p.*, pd.*,  m.name as 'm_name' FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id)";

добавил

$sql .= " LEFT JOIN " . DB_PREFIX . "url_alias ua ON (query = CONCAT('product_id=', p.product_id))";

Но ничего не получилось. В Opencart привязка ЧПУ к товарам выполняется через сопоставление поля product_id из таблицы product с полем query из таблицы url_alias, в котором данные хранятся не в виде цифры, а в виде строки вида "product_id=XX", а канкотенация в моем запросе, по всей видимости, не работает. Пол дня и почти всю ночь на это убил :ugeek:

Люди добрые, помогите написать правильный запрос, думаю, реализация ЧПУ в списке товаров ни для кого не будет лишней.

post-681976-0-64630500-1452909429_thumb.png

Share this post


Link to post
Share on other sites

программист не должен использовать слово "по всей видимости" или "вроде бы". Программист должен использовать мозг по прямому назначению.

$sql = "SELECT p.*, pd.*,  m.name as 'm_name', ua.keyword FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id)";
Edited by nikifalex
  • +1 1

Share this post


Link to post
Share on other sites

Спасибо за пинок и за исправление! Так сложилось, что пришлось воспользоваться еще и чужим  ;)

 

Итак, готовое решение.

В файле admin/view/template/catalog/product_list.tpl добавляем в ячейку с названием товара (или любую другую) код

<br />
<span style="font-size:11px;color:#777;">
    <?php echo $product['keyword']; ?>
</span>
В файле admin/controller/catalog/product.php после

$this->data['products'][] = array(
    'product_id' => $result['product_id'],
    'name'       => $result['name'],
добавляем

    'keyword'    => $result['keyword'],
В файле admin/model/catalog/product.php вместо

$sql = "SELECT p.*, pd.*,  m.name as 'm_name' FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id)";
вставляем

$sql = "SELECT p.*, pd.*,  m.name as 'm_name', ua.keyword FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id)";
$sql .= " LEFT JOIN " . DB_PREFIX . "url_alias ua ON (query = CONCAT('product_id=', p.product_id))";
Результат - очень удобно и можно визуально определять "шероховатые" ссылки наподобие трех последних :-)

2016-01-16_111921.png

Share this post


Link to post
Share on other sites

Увы, здесь не нужны никакие SQL запросы

Нужен некий api для получения ЧПУ

 

можно на каждую ссылку делать запрос к api (очень затягивает по времени)

 

можно отсылать запрос на получение ЧПУ списка (один внешний запрос)

 

Можно сделать копию seo_url, seo_pro и внедрить их в админку.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.