target="_blank" для ссылки в меню

Обсуждение смены дизайна, дополнительного функционала, SEO и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

target="_blank" для ссылки в меню

Сообщение Mono » 22 мар 2014, 15:11

Подскажите, как сделать чтобы созданный пункт меню с типом ссылки - Простая ссылка ( задается вручную ) открывалась в новом окне. Можно ли прописать target="_blank" для конкретной ссылки из меню?
Mono
Гражданин
Гражданин
 
Сообщения: 155
Зарегистрирован: 14 сен 2013, 02:29
Очки репутации: 0

Re: target="_blank" для ссылки в меню

Сообщение Xpycm » 23 мар 2014, 16:32

Номер версии OBC? 1.2 или 1.3?
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: target="_blank" для ссылки в меню

Сообщение Mono » 24 мар 2014, 14:37

1.3
Mono
Гражданин
Гражданин
 
Сообщения: 155
Зарегистрирован: 14 сен 2013, 02:29
Очки репутации: 0

Re: target="_blank" для ссылки в меню

Сообщение Xpycm » 24 мар 2014, 15:20

1) Выпонить запрос: ALTER TABLE `{prefix}menu` ADD `is_blank` TINYINT NOT NULL DEFAULT '0' AFTER `href`; где {prefix} - префикс таблиц, указанный при установке продукта.

2) Файл protected\modules\menumanager\models\Menu.php
метод rules

после:
Код: Выделить всё
array('title, href', 'safe'), 

добавить:
Код: Выделить всё
array('is_blank', 'boolean'), 


метод attributeLabels

после:
Код: Выделить всё
'pageId' => 'Страница', 

добавить:
Код: Выделить всё
'is_blank' => 'Открывать в новом окне', 


метод getMenuItems
после:
Код: Выделить всё
$menu[$k]['url'] = $v->getUrl(); 

добавить:
Код: Выделить всё
if ($v->is_blank && $v->type == self::LINK_NEW_MANUAL) {
    $menu[$k]['linkOptions'] = array('target' => '_blank');
}
 


3) Файл protected\modules\menumanager\views\backend\_form.php
JS-функция function hideAll()
после:
Код: Выделить всё
$("#menu_pageid").hide(); 

добавить:
Код: Выделить всё
$("#menu_is_blank").hide(); 


В условии if(type == ' . Menu::LINK_NEW_MANUAL . ')
после:
Код: Выделить всё
$("#menu_href").show(); 

добавить:
Код: Выделить всё
$("#menu_is_blank").show(); 


после:
Код: Выделить всё
<div class="rowold" id="menu_href">
    <?php echo $form->labelEx($model,'href'); ?>
    <?php echo $form->textField($model,'href',array('size'=>80,'maxlength'=>255)); ?>
    <?php echo $form->error($model,'href'); ?>
</div>


добавить:
Код: Выделить всё
<div class="rowold" id="menu_is_blank">
    <?php echo $form->checkboxRow($model,'is_blank'); ?>
    <?php echo $form->error($model,'is_blank'); ?>
</div>



4) Очистить кэш.

Теперь, при добавлении ссылки, можно выбрать чекбоксом "Открывать в новом окне".

Данный функционал будет в версии 1.3.1. Полезная "фича".
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: target="_blank" для ссылки в меню

Сообщение Mono » 24 мар 2014, 21:00

Ого. Вот это вам спасибище!Не ожидал такого крутого решения вопроса)
Все работает как надо.

А когда стоит ждать 1.3.1 и что там планируется интересного?
Mono
Гражданин
Гражданин
 
Сообщения: 155
Зарегистрирован: 14 сен 2013, 02:29
Очки репутации: 0

Re: target="_blank" для ссылки в меню

Сообщение Xpycm » 25 мар 2014, 08:29

Такое крутое решение потому, что залил этот код в продукт, т.к посчитал вашу просьбу очень правильной.

В версии 1.3.1 вот будет возможность выставлять target="_blank" + исправление одного небольшого бага, который заметил в панели администратора. Собственно, ничего нового не будет
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2