Блоги
ЮзабилитиИсправляем баг меню
+5

Большое спасибо всем кто оценил мой вклад в улучшение Инстанта, а в особенности одному из модераторов, который решил отметить исправление данного бага минусом в моей карме и хамством в личном послании.

Баг, конечно, не критичный но крайне неприятный для тех, кому нужно многоуровневое меню с разграничениями прав доступа к вложенным пунктам.

Описание бага

Предположим нам нужно сделать многоуровневое меню


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


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


Вот, что гости увидят в итоге


myINSTANTCMS (модули, хаки, компоненты)ХАК ’Модуль последние комментарии’
+1
Пришло время поправить модуль вывода последних комментариев в модуле, с учетом добавленных разделов (объявления, Вопрос ответы)
Скачать можно архив тут  архив для скачки
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.
myINSTANTCMS (модули, хаки, компоненты)ХАК ’Комментарии в ВОПРОС - ОТВЕТ’
+2
Продолжим тему хаков компонента "Вопрос ответ", добавим возможность комментировать вопросов и ответа зарегистрированными пользователями.
1. откроем файл /components/faq/frontend.php
2. найдем строку номер 176
Код PHP:
   $smarty->assign('quest', $quest);
   $smarty->display('com_faq_read.tpl');	
и в конец их добавим вот такие строчки...
Код PHP:
			if ($inUser->id){
				if($inCore->isComponentInstalled('comments')){
        			$inCore->includeComments();
        			comments('faq', $id);
    			}
			}
вот получим такую вещь:
1. не авторизованны...
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.

2. авторизированны...
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.
myINSTANTCMS (модули, хаки, компоненты)ХАК ’Вопрос ответ для зарегистрированных’
+5
Продолжим смотреть и немного править компоненты, вернемся снова к компоненту "Вопрос ответ", попросили в соседнем посте, сделать возможность задавать вопросы только прошедшим авторизацию, это в принципе логично!
поэтому взяли свое терпение в руки и начали работу.
1. откроем файл languages/ru/components/faq.php и в добавим вот такие строчки
Код PHP:
$_LANG['NEED_REGISTRATION']       ='Требуется регистрация';
$_LANG['NEED_REGISTRATION_TEXT']  ='Возможность задать вопрос есть только у зарегистрированных пользователей.';
$_LANG['GOTO_REGISTRATION']       ='Перейти к регистрации';
2. перейдем к файлу /components/faq/frontend.php
3. откроем его и и найдем в нем строку с номером 179
Код PHP:
if ($do=='sendquest'){

	$inPage->setTitle($_LANG['ASK_QUE']);
	$inPage->addPathway($_LANG['ASK_QUE']);
	
	$inPage->backButton(false);
	$inPage->addHeadJS('components/faq/js/common.js');
после данных строк вставим вот это
Код PHP:
	if ( !$inUser->id ) {
		$inPage->printHeading($_LANG['NEED_REGISTRATION']);
		echo '<div>'.$_LANG['NEED_REGISTRATION_TEXT'].'</div>';
		echo '<div><a href="/registration">'.$_LANG['GOTO_REGISTRATION'].'</a></div>';
        return;
	}
сохраняем и пробуем на вкус и цвет...
myINSTANTCMS (модули, хаки, компоненты)Хак ’Комментарии в объявлениях’
+10
Сразу хочу предупредить если начнете кричать типа не надо и прочее, лучше просто пройди мимо и все, обратились ко мне с просьбой сделать возможным комментировать и объявления в доске, вот просто хак который позволит комментировать и объявления.
1. откроем components/board/frontend.php
2. найдем строку с номером 345 с кодом
Код PHP:
$smarty->display('com_board_item.tpl');
после нее вставляем вот этот код
Код PHP:
    if($inCore->isComponentInstalled('comments')){
        $inCore->includeComments();
        comments('board', $id);
    }
сохраняем и получаем как на картинке!