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

[РЕШЕНО] Где взять ссылку для нового пункта меню?


Recommended Posts

Это мой первый интернет-магазин и сайт вообще, если не считать опытов с джумлой и виртьюмартом. Поэтому вопрос может показаться несколько нубским.

Итак, появилось желание добавить в главное меню новые пункты, "Доставка и оплата" и "Контакты". Создал две статьи, залез в header.tpl, и сразу под

<div id="menu"> написал



<ul>
<li><a href="ссылка">Доставка и оплата</a></li>
<li><a href="ссылка">Контакты</a></li>
</ul>

где ссылка была взята при редактировании статьи и имела вид 

http://сайт.ру/admin/index.php?route=catalog/information/update&token=aa2eae7b526e874941c0aad4f153d57e&information_id=7

Ничего не добавилось. Пробовал удалить из ссылки "/admin/" и "update&token=aa2eae7b526e874941c0aad4f153d57e", вбить сео-ссылку, указанную при создании статьи, её же, но после "/information/", но пункты всё равно не появлялись. Установил стандартный модуль "Информация", в нём установил настройки Схема - Information, Расположение - Содержание шапки, Статус - Включено, во вкладке "Дизайн" настроек статьи тоже установил схему "Information", но пункты не появились ни сразу, ни после попыток угадать нужную схему и порядок сортировки.

Собственно, вопрос: где надо было взять ссылку на статью? И в правильное ли место и правильным ли образом я пытался её вставить?

Спасибо :-)

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


...Создал две статьи, залез в header.tpl, и сразу под <div id="menu"> написал...

 

Это НЕ правильно. Читайте FAQ по MVC и OpenCart.

 

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

<div class="telephone"> Телефон: 8-800-555-5550</ div>
Все данные, которые имеют специальное место хранения в системе, должны храниться и получаться методами этой системы:
<div class="telephone">
<? Php echo $ this-> language-> get ('text_telephone');?>
<? Php echo $ this-> config-> get ('config_telephone');?>
</ Div>

 

В Вашем случае, добавите в контроллер код:

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

foreach ($this->model_catalog_information->getInformations() as $result) {
$this->data['informations'][] = array(
'title' => $result['title'],
'href' => $this->url->link('information/information', 'information_id=' . $result['information_id'])
);
}

и выводите в меню вот так:

<?php foreach ($informations as $information) { ?>
<a href="<?php echo $information['href']; ?>" style="color:#fff"><?php echo $information['title']; ?></a>
<?php } ?>
  • +1 2
Надіслати
Поділитися на інших сайтах

Спасибо!

Тут правда всё осложняется тем, что из языков программирования я знаю только Паскаль, изученный в школе, и С++, изученный в универе. Соответственно, этот код я в принципе понимаю, но на наполовину интуитивном уровне. То есть ясно, что тут мы вместо указания на конкретные ссылки и названия создаём некий массив со всеми названиями и текстами, а потом выводим уже его, смотрится это как минимум красивее, но... где в header.tpl модель, где вид и где контроллер? И куда конкретно лучше вставить этот код? Содержимое файла - под спойлером, дабы нужды далеко лезть не было.

 

 

<!DOCTYPE html>
<html dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>">
<head>
<meta charset="UTF-8" />
<title><?php echo $title; ?></title>
<base href="<?php echo $base; ?>" />
<?php if ($description) { ?>
<meta name="description" content="<?php echo $description; ?>" />
<?php } ?>
<?php if ($keywords) { ?>
<meta name="keywords" content="<?php echo $keywords; ?>" />
<?php } ?>
<?php foreach ($links as $link) { ?>
<link href="<?php echo $link['href']; ?>" rel="<?php echo $link['rel']; ?>" />
<?php } ?>
<link rel="stylesheet" type="text/css" href="view/stylesheet/stylesheet.css" />
<?php foreach ($styles as $style) { ?>
<link rel="<?php echo $style['rel']; ?>" type="text/css" href="<?php echo $style['href']; ?>" media="<?php echo $style['media']; ?>" />
<?php } ?>
<script type="text/javascript" src="view/javascript/jquery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="view/javascript/jquery/ui/jquery-ui-1.8.16.custom.min.js"></script>
<link type="text/css" href="view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css" rel="stylesheet" />
<script type="text/javascript" src="view/javascript/jquery/tabs.js"></script>
<script type="text/javascript" src="view/javascript/jquery/superfish/js/superfish.js"></script>
<?php foreach ($scripts as $script) { ?>
<script type="text/javascript" src="<?php echo $script; ?>"></script>
<?php } ?>
<script type="text/javascript">
//-----------------------------------------
// Confirm Actions (delete, uninstall)
//-----------------------------------------
$(document).ready(function(){
// Confirm Delete
$('#form').submit(function(){
if ($(this).attr('action').indexOf('delete',1) != -1) {
if (!confirm('<?php echo $text_confirm; ?>')) {
return false;
}
}
});

// Confirm Uninstall
$('a').click(function(){
if ($(this).attr('href') != null && $(this).attr('href').indexOf('uninstall', 1) != -1) {
if (!confirm('<?php echo $text_confirm; ?>')) {
return false;
}
}
});
});
</script>
</head>
<body>
<div id="container">
<div id="header">
<div class="div1">
<div class="div2"><img src="view/image/logo.png" title="<?php echo $heading_title; ?>" onclick="location = '<?php echo $home; ?>'" /></div>
<?php if ($logged) { ?>
<div class="div3"><img src="view/image/lock.png" alt="" style="position: relative; top: 3px;" /> <?php echo $logged; ?></div>
<?php } ?>
</div>
<?php if ($logged) { ?>
<div id="menu">
<ul class="left" style="display: none;">
<li id="dashboard"><a href="<?php echo $home; ?>" class="top"><?php echo $text_dashboard; ?></a></li>
<li id="catalog"><a class="top"><?php echo $text_catalog; ?></a>
<ul>
<li><a href="<?php echo $category; ?>"><?php echo $text_category; ?></a></li>
<li><a href="<?php echo $product; ?>"><?php echo $text_product; ?></a></li>
<li><a class="parent"><?php echo $text_attribute; ?></a>
<ul>
<li><a href="<?php echo $attribute; ?>"><?php echo $text_attribute; ?></a></li>
<li><a href="<?php echo $attribute_group; ?>"><?php echo $text_attribute_group; ?></a></li>
</ul>
</li>
<li><a href="<?php echo $option; ?>"><?php echo $text_option; ?></a></li>
<li><a href="<?php echo $manufacturer; ?>"><?php echo $text_manufacturer; ?></a></li>
<li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
<li><a href="<?php echo $review; ?>"><?php echo $text_review; ?></a></li>
<li><a href="<?php echo $information; ?>"><?php echo $text_information; ?></a></li>
</ul>
</li>
<li id="extension"><a class="top"><?php echo $text_extension; ?></a>
<ul>
<li><a href="<?php echo $module; ?>"><?php echo $text_module; ?></a></li>
<li><a href="<?php echo $shipping; ?>"><?php echo $text_shipping; ?></a></li>
<li><a href="<?php echo $payment; ?>"><?php echo $text_payment; ?></a></li>
<li><a href="<?php echo $total; ?>"><?php echo $text_total; ?></a></li>
<li><a href="<?php echo $feed; ?>"><?php echo $text_feed; ?></a></li>
</ul>
</li>
<li id="sale"><a class="top"><?php echo $text_sale; ?></a>
<ul>
<li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
<li><a href="<?php echo $return; ?>"><?php echo $text_return; ?></a></li>
<li><a class="parent"><?php echo $text_customer; ?></a>
<ul>
<li><a href="<?php echo $customer; ?>"><?php echo $text_customer; ?></a></li>
<li><a href="<?php echo $customer_group; ?>"><?php echo $text_customer_group; ?></a></li>
<li><a href="<?php echo $customer_blacklist; ?>"><?php echo $text_customer_blacklist; ?></a></li>
</ul>
</li>
<li><a href="<?php echo $affiliate; ?>"><?php echo $text_affiliate; ?></a></li>
<li><a href="<?php echo $coupon; ?>"><?php echo $text_coupon; ?></a></li>
<li><a class="parent"><?php echo $text_voucher; ?></a>
<ul>
<li><a href="<?php echo $voucher; ?>"><?php echo $text_voucher; ?></a></li>
<li><a href="<?php echo $voucher_theme; ?>"><?php echo $text_voucher_theme; ?></a></li>
</ul>
</li>
<li><a href="<?php echo $contact; ?>"><?php echo $text_contact; ?></a></li>
</ul>
</li>
<li id="system"><a class="top"><?php echo $text_system; ?></a>
<ul>
<li><a href="<?php echo $setting; ?>"><?php echo $text_setting; ?></a></li>
<li><a class="parent"><?php echo $text_design; ?></a>
<ul>
<li><a href="<?php echo $layout; ?>"><?php echo $text_layout; ?></a></li>
<li><a href="<?php echo $banner; ?>"><?php echo $text_banner; ?></a></li>
</ul>
</li>
<li><a class="parent"><?php echo $text_users; ?></a>
<ul>
<li><a href="<?php echo $user; ?>"><?php echo $text_user; ?></a></li>
<li><a href="<?php echo $user_group; ?>"><?php echo $text_user_group; ?></a></li>
</ul>
</li>
<li><a class="parent"><?php echo $text_localisation; ?></a>
<ul>
<li><a href="<?php echo $language; ?>"><?php echo $text_language; ?></a></li>
<li><a href="<?php echo $currency; ?>"><?php echo $text_currency; ?></a></li>
<li><a href="<?php echo $stock_status; ?>"><?php echo $text_stock_status; ?></a></li>
<li><a href="<?php echo $order_status; ?>"><?php echo $text_order_status; ?></a></li>
<li><a class="parent"><?php echo $text_return; ?></a>
<ul>
<li><a href="<?php echo $return_status; ?>"><?php echo $text_return_status; ?></a></li>
<li><a href="<?php echo $return_action; ?>"><?php echo $text_return_action; ?></a></li>
<li><a href="<?php echo $return_reason; ?>"><?php echo $text_return_reason; ?></a></li>
</ul>
</li>
<li><a href="<?php echo $country; ?>"><?php echo $text_country; ?></a></li>
<li><a href="<?php echo $zone; ?>"><?php echo $text_zone; ?></a></li>
<li><a href="<?php echo $geo_zone; ?>"><?php echo $text_geo_zone; ?></a></li>
<li><a class="parent"><?php echo $text_tax; ?></a>
<ul>
<li><a href="<?php echo $tax_class; ?>"><?php echo $text_tax_class; ?></a></li>
<li><a href="<?php echo $tax_rate; ?>"><?php echo $text_tax_rate; ?></a></li>
</ul>
</li>
<li><a href="<?php echo $length_class; ?>"><?php echo $text_length_class; ?></a></li>
<li><a href="<?php echo $weight_class; ?>"><?php echo $text_weight_class; ?></a></li>
</ul>
</li>
<li><a href="<?php echo $error_log; ?>"><?php echo $text_error_log; ?></a></li>
<li><a href="<?php echo $backup; ?>"><?php echo $text_backup; ?></a></li>
</ul>
</li>
<li id="reports"><a class="top"><?php echo $text_reports; ?></a>
<ul>
<li><a class="parent"><?php echo $text_sale; ?></a>
<ul>
<li><a href="<?php echo $report_sale_order; ?>"><?php echo $text_report_sale_order; ?></a></li>
<li><a href="<?php echo $report_sale_tax; ?>"><?php echo $text_report_sale_tax; ?></a></li>
<li><a href="<?php echo $report_sale_shipping; ?>"><?php echo $text_report_sale_shipping; ?></a></li>
<li><a href="<?php echo $report_sale_return; ?>"><?php echo $text_report_sale_return; ?></a></li>
<li><a href="<?php echo $report_sale_coupon; ?>"><?php echo $text_report_sale_coupon; ?></a></li>
</ul>
</li>
<li><a class="parent"><?php echo $text_product; ?></a>
<ul>
<li><a href="<?php echo $report_product_viewed; ?>"><?php echo $text_report_product_viewed; ?></a></li>
<li><a href="<?php echo $report_product_purchased; ?>"><?php echo $text_report_product_purchased; ?></a></li>
</ul>
</li>
<li><a class="parent"><?php echo $text_customer; ?></a>
<ul>
<li><a href="<?php echo $report_customer_online; ?>"><?php echo $text_report_customer_online; ?></a></li>
<li><a href="<?php echo $report_customer_order; ?>"><?php echo $text_report_customer_order; ?></a></li>
<li><a href="<?php echo $report_customer_reward; ?>"><?php echo $text_report_customer_reward; ?></a></li>
<li><a href="<?php echo $report_customer_credit; ?>"><?php echo $text_report_customer_credit; ?></a></li>
</ul>
</li>
<li><a class="parent"><?php echo $text_affiliate; ?></a>
<ul>
<li><a href="<?php echo $report_affiliate_commission; ?>"><?php echo $text_report_affiliate_commission; ?></a></li>
</ul>
</li>
</ul>
</li>
<li id="help"><a class="top"><?php echo $text_help; ?></a>
<ul>
<li><a onClick="window.open('http://www.opencart.com');"><?php echo $text_opencart; ?></a></li>
<li><a onClick="window.open('http://www.opencart.com/index.php?route=documentation/introduction');"><?php echo $text_documentation; ?></a></li>
<li><a onClick="window.open('http://forum.opencart.com');"><?php echo $text_support; ?></a></li>
</ul>
</li>
</ul>
<ul class="right">
<li id="store"><a onClick="window.open('<?php echo $store; ?>');" class="top"><?php echo $text_front; ?></a>
<ul>
<?php foreach ($stores as $stores) { ?>
<li><a onClick="window.open('<?php echo $stores['href']; ?>');"><?php echo $stores['name']; ?></a></li>
<?php } ?>
</ul>
</li>
<li id="store"><a class="top" href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
</ul>
<script type="text/javascript"><!--
$(document).ready(function() {
$('#menu > ul').superfish({
hoverClass : 'sfHover',
pathClass : 'overideThisToUse',
delay : 0,
animation : {height: 'show'},
speed : 'normal',
autoArrows : false,
dropShadows : false,
disableHI : false, /* set to true to disable hoverIntent detection */
onInit : function(){},
onBeforeShow : function(){},
onShow : function(){},
onHide : function(){}
});

$('#menu > ul').css('display', 'block');
});

function getURLVar(urlVarName) {
var urlHalves = String(document.location).toLowerCase().split('?');
var urlVarValue = '';

if (urlHalves[1]) {
var urlVars = urlHalves[1].split('&');

for (var i = 0; i <= (urlVars.length); i++) {
if (urlVars) {
var urlVarPair = urlVars.split('=');

if (urlVarPair[0] && urlVarPair[0] == urlVarName.toLowerCase()) {
urlVarValue = urlVarPair[1];
}
}
}
}

return urlVarValue;
}

$(document).ready(function() {
route = getURLVar('route');

if (!route) {
$('#dashboard').addClass('selected');
} else {
part = route.split('/');

url = part[0];

if (part[1]) {
url += '/' + part[1];
}

$('a[href*=\'' + url + '\']').parents('li[id]').addClass('selected');
}
});
//--></script>
</div>
<?php } ?>
</div>

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


Давайте по очереди...

1. Откройте catalog/controller/common/header.php и найдите:

$this->data['text_home'] = $this->language->get('text_home');
После него добавьте:
$this->data['text_information'] = $this->language->get('text_information');
Ниже, после всех этих блоков ($this->data...) сразу добавляем код из примера выше:
$this->data['informations'] = array();
foreach ($this->model_catalog_information->getInformations() as $result) {
$this->data['informations'][] = array(
'title' => $result['title'],
'href' => $this->url->link('information/information', 'information_id=' . $result['information_id'])
);
}
2. Затем, открываем catalog/view/theme/ВАША_ТЕМА/template/common/header.tpl и в блоке отвечающим за меню (<div id="menu">) перед последним тегом </ul> добавляем:
<li><a><?php echo $text_information; ?></a>
<div>
<ul>
<?php foreach ($informations as $information) { ?>
<li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
<?php } ?>
</ul>
</div>
проделываем всё это и отписываемся...

3348945.png

Другие темы с форума:

Перенести инфу из футера

Как добавить ссылки вверх сайта

Как вывести отдельные страницы информации

 

Модуль (бесплатный):

(VQMod) Information Pages on Navigation Menu

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

Для корректного отображения (на нужном языке), необходимо обязательное наличие кода:

$_['text_information']  = 'Информация';
В файле (папке): catalog/language/russian/common/footer.php 

 

А о какой "серой полоске" идёт речь и о каких "примерах" - вообще не понял.   :ugeek:

Покажите скрин. 

(и укажите версию)

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

  • 4 months later...
  • 1 year later...

Давайте по очереди...

1. Откройте catalog/controller/common/header.php и найдите:

$this->data['text_home'] = $this->language->get('text_home');
После него добавьте:
$this->data['text_information'] = $this->language->get('text_information');
Ниже, после всех этих блоков ($this->data...) сразу добавляем код из примера выше:
$this->data['informations'] = array();
foreach ($this->model_catalog_information->getInformations() as $result) {
$this->data['informations'][] = array(
'title' => $result['title'],
'href' => $this->url->link('information/information', 'information_id=' . $result['information_id'])
);
}
2. Затем, открываем catalog/view/theme/ВАША_ТЕМА/template/common/header.tpl и в блоке отвечающим за меню (<div id="menu">) перед последним тегом </ul> добавляем:
<li><a><?php echo $text_information; ?></a>
<div>
<ul>
<?php foreach ($informations as $information) { ?>
<li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
<?php } ?>
</ul>
</div>
проделываем всё это и отписываемся...

3348945.png

Другие темы с форума:

Перенести инфу из футера

Как добавить ссылки вверх сайта

Как вывести отдельные страницы информации

 

Модуль (бесплатный):

(VQMod) Information Pages on Navigation Menu

 

Добрый день !! Помогите мне пожалуйста, а то я уже замучился различные коды прописывать, вывел горизонтальное меню, но когда удаляю стандартные категории то пропадает и все меню. Версия у меня 2.0.1.1. Код прописан у меня так.

 
?php if ($categories) { ?>
<div class="container">
  <nav id="menu" class="navbar">
    <div class="navbar-header"><span id="category" class="visible-xs"><?php echo $text_category; ?></span>
      <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button>
    </div>
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <ul class="nav navbar-nav">
       <li><a href="/mag/delivery">Доставка</a></li>
       <li><a href="/mag/about_us">Про нас</a></li>

post-698646-0-37737400-1437466961_thumb.png

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


  • 3 months later...
  • 1 month later...
  • 1 month later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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