Google Member Map - допиливаем кнопку в меню и удаляем ошибки

Небольшие заметки о html, css, sql, php

Модератор: Valery

Правила форума
Гость видит 250 символов 1 сообщения
Аватара пользователя
Valery
Без группы
Без группы
Сообщения: 22267
На борту с: 07.02.2005 10:00
Награды: 5
Из: Тридевятое царство

Карта Google Member Map - допиливаем кнопку в меню и удаляем ошибки

Сообщение Valery »

Изначально кнопка называется GoogleMap и располагается в главном меню правее кнопки ВЫХОД без того увеличивая длину меню - не у всех влазит на экран.
Логичнее перенести подпунктом в выпадающий список:

УЧАСТНИКИ
  - Просмотр списка пользователей
  - Поиск пользователей
  - Интерактивная карта участников

1. Открываем GoogleMapIntegration.php и отключаем функцию function imb_googlemap(&$buttons) создания кнопки:

Код: Выделить всё

/*--Создание кнопки в главном меню--
function imb_googlemap(&$buttons)
{
	global $txt, $scripturl, $modSettings;
	
		loadlanguage(GoogleMap);

		// where do we want to place this new button
		$insert_after = empty($modSettings[googleMap_ButtonLocation]) ? calendar : $modSettings[googleMap_ButtonLocation];
		$counter = 0;

		// find the location in the buttons array
		foreach ($buttons as $area => $dummy)
		{
			if (++$counter && $area == $insert_after)
				break;
		}

		// Define the new menu item(s)
		$new_menu = array(
			googlemap => array(
				title => $txt[googleMap],
				href => $scripturl . ?action=googlemap,
				show => !empty($modSettings[googleMap_Enable]) && allowedTo(googleMap_view),
				sub_buttons => array(),
			)

		// Insert the new items in the existing array with array-a-matic ...it slices, it dices, it puts it back together
		$buttons = array_merge(array_slice($buttons, 0, $counter), array_merge($new_menu, array_slice($buttons, $counter)));
}
--Создание кнопки в главном меню--*/
2. Создаем пункт в выпадающем списке:
Открыть Subs.php
Найти:

Код: Выделить всё

is_last => true,
					),
Добавить после:

Код: Выделить всё

google_map => array(
	title => $txt[google_map],
	href => $scripturl . ?action=googlemap,
	show => true,
	is_last => true,
	),
3. Добавить текстовую переменную для нового пункта меню - открыть index.russian-utf8.php и добавить строку:

Код: Выделить всё

$txt[google_map] = Интерактивная карта участников;
4. Даже без допилов в логах форума есть ошибки:

8: Undefined index: googleMap_Disclaimer
File: .../forum/Themes/default/Profile.template.php
Line: 2902

8: Undefined index: googleMap_PleaseClick
File: .../forum/Themes/default/Profile.template.php
Line: 2902

8: Undefined index: googleMap
File: .../forum/Themes/default/Profile.template.php
Line: 2902

Разбор выявил, что не подгружаются языковые переменные при открытии профиля.
Открываем Profile.russian-utf8.php и добавляем строки:

Код: Выделить всё

$txt[googleMap_PleaseClick] = Кликните на карте для установки Вашей позиции или кликните на отметку для удаления локации.;
$txt[googleMap_Disclaimer] = <br />Отметьте свое место проживания.<br />Используйте поиск для быстрого перемещения в локацию (город, индексный код, и т.д) затем кликните на карту чтобы установить свою локацию.;
$txt[googleMap] = Google Map;
Пьем пиво.
Последний раз редактировалось Valery 01.02.2013 09:14, всего редактировалось 1 раз.
По суше: велосипед, Соболь 4х4 самый западный и LR Defender 110.
Отдохнул – отчитайся, лучшее слово – дело.