как сделать пользовательский виджет для приложения Membermap? - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

как сделать пользовательский виджет для приложения Membermap?

#1 Пользователь не на сайте   Zero108 ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 766
  • Регистрация: 25-Июль 09
  • Репутация: 113
  • IPB version:4.1.x
 

Отправлено 09 Июнь 2018 - 12:27

Пытаюсь сделать пользовательский виджет для приложения Membemap 3.5.0, чтобы в боковой столбик главной страницы сайта выводить карту с маркерами без всяких кнопок и т.п. В самом приложении шаблон вывода карты такой:

{{if request.do != 'embed'}}
	{{if request.clubId > 0 AND $club instanceof \IPS\Member\Club }}
		{{if settings.clubs and settings.clubs_header == 'full'}}
			{template="header" app="core" group="clubs" params="$club, \IPS\membermap\Markers\Groups::load( \IPS\membermap\Map::i()->getMemberGroupId() )"}
		{{endif}}
	{{endif}}

	<div class="ipsPageHeader ipsClearfix">
		<header class='ipsSpacer_bottom'>
			<h1 class="ipsType_pageTitle">{lang="frontnavigation_membermap"}</h1>
			<div class='ipsPos_right ipsResponsive_noFloat'>
				<ul class="ipsToolList ipsToolList_horizontal ipsClearfix">
					{{if $canAdd OR $canEdit}}
						<li id='membermap_addLocation_wrapper' class='ipsToolList_primaryAction'>
							<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="#" title='' id="membermap_button_addLocation">{lang="membermap_button_addLocation"}</a>
						</li>
						<li id='membermap_myLocation_wrapper' class='ipsToolList_primaryAction' style='display:none;'>
							<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" data-ipsmenu href='#elMyLocationMenu' id='elMyLocationMenu' title=''>
								{lang="membermap_button_myLocation"} <i class='fa fa-caret-down'></i>
							</a>
							<div id='elMyLocationMenu_menu' class='ipsMenu ipsMenu_auto ipsHide'>
								<ul>
									<li class="ipsMenu_item" id="membermap_button_editLocation">
										<a href="#">{lang="membermap_button_editLocation"}</a>
									</li>

									<li class='ipsMenu_sep'><hr></li>

									<li class="ipsMenu_item" id="elMyLocationMenuGoHome">
										<a href="{url='app=membermap&module=membermap&controller=showmap&goHome=1' seoTemplate='membermap'}">{lang="membermap_goHome"}</a>
									</li>
								</ul>
							</div>
						</li>
					{{endif}}

					<li>
						{{$unapproved = \iPS\membermap\Markers\Groups::getTotalUnapprovedCount();}}
						<a href="{url='app=membermap&module=markers&controller=groups' seoTemplate='markers'}" title='{lang="membermap_browse_markers"}' class='ipsButton ipsButton_medium ipsButton_fullWidth ipsButton_link'>
							<i class="icon-newspaper"></i> {lang="membermap_browse_markers"} {{if $unapproved > 0}}&nbsp;<strong class='ipsType_warning ipsType_medium'><i class='fa fa-warning'></i> {$unapproved}</strong>{{endif}}
						</a>
					</li>

					{{if \IPS\Member::loggedIn()->isAdmin()}}
					<li class='ipsToolList_primaryAction ipsResponsive_hidePhone'>
						<a href='#elToolsMenu' id='elToolsMenu' data-ipsmenu class='ipsButton ipsButton_normal ipsButton_link'>
							 &nbsp;{lang="membermap_adminTools"} <i class='fa fa-caret-down'></i>
						</a>
						<div id='elToolsMenu_menu' class='ipsMenu ipsMenu_auto ipsHide'>
							<ul>
								<li class="ipsMenu_item" id='elToolsMenuBrowserCache'>
									<a href="{url='app=membermap&module=membermap&controller=showmap&dropBrowserCache=1' seoTemplate='membermap'}">{lang="membermap_rebuildBrowserCache"} <time></time></a>
								</li>

								<li class="ipsMenu_item" >
									<a href="{url='app=membermap&module=membermap&controller=showmap&rebuildCache=1' seoTemplate='membermap'}" data-action='ipsMenu_ping'>
										{{if $cacheTime > 0}}
											{lang="membermap_rebuildServerCache" htmlsprintf="\IPS\DateTime::ts( $cacheTime )->html( true, true )"}
										{{else}}
											{lang="membermap_rebuildServerCache_notSet"}
										{{endif}}
									</a>
								</li>
							</ul>
						</div>
					</li>
					{{endif}}
				</ul>
			</div>
		</header>
	</div>
{{endif}}

<section>
	<div id='membermapWrapper'>
		<div id="mapWrapper" class='ipsLayout_content clearfix'>
			<div id='mapCanvas'></div>
		</div>
	</div>
	<div class='ipsPad_top' id="membermap_counter">
		<p>{lang="membermap_showing_markers"}</p>
	</div>
</section>

<div id='mapMarkers' class='ipsHide' data-markers='{expression="json_encode( $markers )"}'></div>


Что нужно взять из этого шаблона для того, чтобы виджет заработал? Как изменить код?

Для создания виджета используя плагин Advanced Custom Widgets 1.0.2, в котором поле вставки кода может быть в режиме TXT и HTML.

Сообщение изменено: Zero108 (09 Июнь 2018 - 12:28)

0

#2 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 390
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 356
  • IPB version:I have no IPB
 

Отправлено 09 Июнь 2018 - 13:58

Просмотреть сообщениеZero108 сказал(а):

Для создания виджета используя плагин Advanced Custom Widgets 1.0.2, в котором поле вставки кода может быть в режиме TXT и HTML.
Что нужно взять из этого шаблона для того, чтобы виджет заработал?

По сути
<section>
    <div id='membermapWrapper'>
        <div id="mapWrapper" class='ipsLayout_content clearfix'>
            <div id='mapCanvas'></div>
        </div>
    </div>
    <div class='ipsPad_top' id="membermap_counter">
        <p>{lang="membermap_showing_markers"}</p>
    </div>
</section>

<div id='mapMarkers' class='ipsHide' data-markers='{expression="json_encode( $markers )"}'></div>

Можете вообще использовать iframe с адресом https://www.a108.net...laces/?do=embed, чтобы подключались все нужные js-скрипты
0

#3 Пользователь не на сайте   Zero108 ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 766
  • Регистрация: 25-Июль 09
  • Репутация: 113
  • IPB version:4.1.x
 

Отправлено 09 Июнь 2018 - 16:02

Спасибо за ответ. Я не совсем понимаю, что делать. Я вставил выделенный код как html. Он не заработал.

Iframe попробовал - добавляется полоса прокрутки и border. Посмотрю, можно ли побороть с помощью css.

Дивом вставить по простому нельзя? Нужно смотреть, каких js не хватает?

Сообщение изменено: Zero108 (09 Июнь 2018 - 16:06)

0

#4 Пользователь не на сайте   Zero108 ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 766
  • Регистрация: 25-Июль 09
  • Репутация: 113
  • IPB version:4.1.x
 

Отправлено 09 Июнь 2018 - 16:25

С ифреймом много возни с css: не получается убрать рамку у ифрейма (border) и отступ сверху.

-IMG-
0

#5 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 390
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 356
  • IPB version:I have no IPB
 

Отправлено 09 Июнь 2018 - 16:33

<iframe src="https://www.a108.net/holy_places/?do=embed" style="width:100%;height:400px;border:none;margin-top:-70px;"></iframe>

1

#6 Пользователь не на сайте   Zero108 ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 766
  • Регистрация: 25-Июль 09
  • Репутация: 113
  • IPB version:4.1.x
 

Отправлено 09 Июнь 2018 - 16:54

Спасибо. Вроде встало на место.
0

#7 Пользователь не на сайте   Zero108 ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 766
  • Регистрация: 25-Июль 09
  • Репутация: 113
  • IPB version:4.1.x
 

Отправлено 09 Июнь 2018 - 23:26

А как в виджете выше добавить заголовок такого вида, чтобы он работал?

<h3 class="ipsWidget_title ipsType_reset">{lang="frontnavigation_membermap"}</h3>

Простой вставкой в HTML редакторе не работает.

Сообщение изменено: Zero108 (09 Июнь 2018 - 23:26)

0

#8 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 390
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 356
  • IPB version:I have no IPB
 

Отправлено 10 Июнь 2018 - 08:12

Просмотреть сообщениеZero108 сказал(а):

Простой вставкой в HTML редакторе не работает.

Значит не поддерживается / не обрабатываются подобные теги.
0

#9 Пользователь не на сайте   Zero108 ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 766
  • Регистрация: 25-Июль 09
  • Репутация: 113
  • IPB version:4.1.x
 

Отправлено 10 Июнь 2018 - 10:14

Через Pages - Блоки научился делать. Будут ковырять css.

Сообщение изменено: Zero108 (10 Июнь 2018 - 10:27)

0

#10 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 390
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 356
  • IPB version:I have no IPB
 

Отправлено 10 Июнь 2018 - 10:26

Просмотреть сообщениеZero108 сказал(а):

А есть ли какой-то способ вывести языковую строку в виджете? Например, какой-то php скрипт или набор команд, которые будут обрабатываться в html режиме редактора?

Только просить автора.

Просмотреть сообщениеZero108 сказал(а):

Но я так и не понял, как кастомные блоки, созданные в Pages, можно применять в качестве виджетов.

В списке виджетов выбираете "Custom Blocks (Select one of the custom blocks you have created)" и добавляете, например, в сайдбар.
В конфигурации выбираете из выпадающего списка созданный блок.
1

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2018 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна