Лайфхаки

  • 3 Ответов
  • 667 Просмотров

Saor

  • Сообщений: 88
    • Просмотр профиля
Лайфхаки
« : 07 Февраля 2017, 08:37:33 »
Считаю что нужно прикрепить некоторые решения, которые могут быть полезны чтобы потом не искать их по всему форуму.
« Последнее редактирование: 07 Февраля 2017, 08:55:34 от Saor »

Saor

  • Сообщений: 88
    • Просмотр профиля
Re: Лайвхаки
« Ответ #1 : 07 Февраля 2017, 08:38:51 »
При желании, с небольшой доработкой, вы можете создавать не отдельные пункты, а отдельное меню для Гостей и Пользователей.

В классе: core/classes/Template.php
В методе header() "Шапка, шаблон оформления".
После строки
$this->unmanule['home'] = ($global['dn'] == 'home') ? 'yes' : 'no';
добавьте
$this->unmanule['user'] = (defined('USER_LOGGED')) ? 'yes' : 'no';
В управлении меню, в панели, создайте позицию {usermenu}, и добавляйте туда пункты меню, которые может видеть только Пользователь.
В шаблоне оформления, в файле template/Lite/top.tpl, вместо
{dnmtop}
добавьте две позиции
<!--if:user:no-->{dnmtop}<!--if-->
<!--if:user:yes-->{usermenu}<!--if-->
Пользователи и гости будут видеть разные меню.

Saor

  • Сообщений: 88
    • Просмотр профиля
Re: Лайвхаки
« Ответ #2 : 07 Февраля 2017, 08:39:43 »
Цитировать
в верхнем меню при организации выпадающего меню невозможно сделать корневой пункт (пункт открывающий список) не кликабельным
Откройте файл:
template/Lite/css/menu.css
Добавьте туда класс:
.dnmtop > li > a.disabled {
    pointer-events: none;
}
И, добавляйте данный класс для ссылки которую хотите сделать не кликабельной.
Все современные браузеры понимают pointer-events: none

Для ИЕ, нуждо добавить
$(document).on('mousedown', '.disabled', function (e) {
    $(this).hide();
    var BottomElement = document.elementFromPoint(e.clientX, e.clientY);
    $(this).show();
    $(BottomElement).mousedown();
    return false;
})
в файл
template/Lite/js/script.js

Sir_G

  • Сообщений: 53
    • Просмотр профиля
OpenGraph для каталога товаров
« Ответ #3 : 24 Апреля 2017, 08:24:26 »
Решение OpenGraph для каталога danneo 1.5.2 (выводим opengraph-теги на странице товара):
1.В шаблоне сайта, в файле template/ваш_шаблон/top.tpl меняем:
<title>{title}</title>
на это:
<title>{title}</title>
{opengraph}
2.В файле core\classes\Template.php после строк:
// Open Graph
$global['insert']['og_title'] = ....
$global['insert']['og_desc'] = ......
$global['insert']['og_image'] = ......
добавляем:
// Open Graph NEW
$global['insert']['opengraph'] = (isset($global['opengraph']) AND ! empty($global['opengraph'])) ? $api->siteuni($global['opengraph']) : '';
// Open Graph NEW
3.В файле mod/catalog/index.php в разделе
if ($to == 'page')
Перед строками:
/**
* Вывод на страницу, шапка
*/
$tm->header();
Добавляем:
// Open Graph NEW
$tmp_cpu = (defined('SEOURL') AND ! empty($item['cpu'])) ? '&amp;cpu='.$item['cpu'] : '';
$tmp_catcpu = (defined('SEOURL') AND ! empty($obj['catcpu'])) ? '&amp;ccpu='.$obj['catcpu'] : '';
$current_url = SITE_URL.$ro->seo('index.php?dn='.WORKMOD.$tmp_catcpu.'&amp;to=page&amp;id='.$item['id'].$tmp_cpu);

$global['opengraph'] = "<meta property=\"og:title\" content=\"".$global['title']."\" />\n";
$global['opengraph'].= "<meta property=\"og:type\" content=\"website\" />\n";
$global['opengraph'].= "<meta property=\"og:url\" content=\"".$current_url."\" />\n";
$global['opengraph'].= "<meta property=\"og:image\" content=\"".$global['og_image']."\" />";
// Open Graph NEW