Jump to content
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

IP.Blog

Здравствуйте! Умтановил на форуме 3.1 модуль IP.Blog. Но почему то при входе на свой блог в верхнем меню блога не появилась кнопка Записи. Там только: добавить блоки, создать новый блог. В чем может быть проблема? Сижу уже целый день с ним. =(

Featured Replies

  • Author

я так понял не совпадает условие и не выводит пункт меню? или не так?

 

<if test="viewerismember:|:$this->memberData['member_id'] ">
<div class='topic_controls'>
	<ul class='topic_buttons'>
........

 

+ не работают js скрипты, для добавления блоков и удаления с правой части.

Edited by ayd-in

  • Author

не грузится ява-скрипт ips.blog.js где нужно смотреть?

У вас же форум переделан настолько, что родного практически ничего не осталось. Почему ж вы тут подобные вопросы спрашиваете, а не у тех, кто вам все это переделывал?

 

Например, судя по исходному коду страницы, у вас там JavaScript подключается как-то иначе, не через стандартную схему с minify.

  • Author

Хорошо! не будем спрашивать. Спасибо!

Надеюсь, вы это правильно восприняли, а не как словно я вас прогоняю :)

 

Просто переделки скорее всего и есть причина описанных вами проблем, и кому как не переделовавшему в этом разобраться?)

  • Author

Да вы правы. На других скинах скрипты от блога работают. Но к сожалению связи с человеком который переделывал уже нет. И во всем придется разобраться мне. Что посоветуете?

В 3.1.4 за подключение JS-файлов отвечает шаблон Глобальные > includeJS:

 

<if test="minifyjs:|:$this->settings['use_minify']">
<if test="remoteloadjs:|:$this->settings['remote_load_js']">
	<script type='text/javascript' src='<if test="usehttpsprototype:|:$this->registry->output->isHTTPS">https<else />http</if>://ajax.googleapis.com/ajax/libs/prototype/1.6/prototype.js'></script>
	<script type='text/javascript' src='<if test="usehttpsscriptaculous:|:$this->registry->output->isHTTPS">https<else />http</if>://ajax.googleapis.com/ajax/libs/scriptaculous/1.8/scriptaculous.js?load=effects,dragdrop,builder'></script>
<else />
	<script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?ipbv={parse expression="trim(ipsRegistry::$vn_full)"}&g=js'></script>
</if>
<script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?ipbv={parse expression="trim(ipsRegistry::$vn_full)"}&charset={$this->settings['gb_char_set']}&f=public/js/ipb.js,public/js/ips.quickpm.js<if test="hasjsmodules:|:count($jsModules)">,public/js/ips.{parse expression="implode('.js,public/js/ips.', array_unique( array_keys( $jsModules ) ) )"}.js</if>,cache/lang_cache/{$this->lang->lang_id}/ipb.lang.js' charset='{$this->settings['gb_char_set']}'></script>
<else />
<if test="nominifyremoteloadjs:|:$this->settings['remote_load_js']">
	<script type='text/javascript' src='<if test="nmusehttpsp:|:$this->registry->output->isHTTPS">https<else />http</if>://ajax.googleapis.com/ajax/libs/prototype/1.6/prototype.js'></script>
<else />
	<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/prototype.js'></script>
</if>
<script type='text/javascript' src='{$this->settings['public_dir']}js/ipb.js?ipbv={parse expression="trim(ipsRegistry::$vn_full)"}&load=quickpm,{parse expression="implode(',', array_unique( array_keys( $jsModules ) ) )"}'></script>
<if test="nominifyremoteloadjs2:|:$this->settings['remote_load_js']">
	<script type='text/javascript' src='<if test="nmusehttpss:|:$this->registry->output->isHTTPS">https<else />http</if>://ajax.googleapis.com/ajax/libs/scriptaculous/1.8/scriptaculous.js?load=effects,dragdrop,builder'></script>
<else />
	<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/scriptaculous/scriptaculous-cache.js'></script>
</if>
<script type="text/javascript" src='{$this->settings['cache_dir']}lang_cache/{$this->lang->lang_id}/ipb.lang.js' charset='{$this->settings['gb_char_set']}'></script>
</if>

 

А у вас там что?

 

Только не спешите все заменять - может быть, там что-то нужное для корректной работы кастомных функций есть. Лучше приведите код вашего шаблона.

  • Author

Тот же самый, не измененный.

<if test="minifyjs:|:$this->settings['use_minify']">
<if test="remoteloadjs:|:$this->settings['remote_load_js']">
	<script type='text/javascript' src='<if test="usehttpsprototype:|:$this->registry->output->isHTTPS">https<else />http</if>://ajax.googleapis.com/ajax/libs/prototype/1.6/prototype.js'></script>
	<script type='text/javascript' src='<if test="usehttpsscriptaculous:|:$this->registry->output->isHTTPS">https<else />http</if>://ajax.googleapis.com/ajax/libs/scriptaculous/1.8/scriptaculous.js?load=effects,dragdrop,builder'></script>
<else />
	<script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?g=js'></script>
</if>
<script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?charset={$this->settings['gb_char_set']}&f=public/js/ipb.js,public/js/ips.quickpm.js<if test="hasjsmodules:|:count($jsModules)">,public/js/ips.{parse expression="implode('.js,public/js/ips.', array_unique( array_keys( $jsModules ) ) )"}.js</if>,cache/lang_cache/{$this->lang->lang_id}/ipb.lang.js' charset='{$this->settings['gb_char_set']}'></script>
<else />
<if test="nominifyremoteloadjs:|:$this->settings['remote_load_js']">
	<script type='text/javascript' src='<if test="nmusehttpsp:|:$this->registry->output->isHTTPS">https<else />http</if>://ajax.googleapis.com/ajax/libs/prototype/1.6/prototype.js'></script>
<else />
	<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/prototype.js'></script>
</if>
<script type='text/javascript' src='{$this->settings['public_dir']}js/ipb.js?load=quickpm,{parse expression="implode(',', array_unique( array_keys( $jsModules ) ) )"}'></script>
<if test="nominifyremoteloadjs2:|:$this->settings['remote_load_js']">
	<script type='text/javascript' src='<if test="nmusehttpss:|:$this->registry->output->isHTTPS">https<else />http</if>://ajax.googleapis.com/ajax/libs/scriptaculous/1.8/scriptaculous.js?load=effects,dragdrop,builder'></script>
<else />
	<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/scriptaculous/scriptaculous-cache.js'></script>
</if>
<script type="text/javascript" src='{$this->settings['cache_dir']}lang_cache/{$this->lang->lang_id}/ipb.lang.js' charset='{$this->settings['gb_char_set']}'></script>
</if>

Edited by ayd-in

  • Author

java script подключается нормально. Просто Блог не работает на переделанных скинах. На деффолтовых скинах он работает.

  • Author

не выполняется условие

<if test="allowentry:|:$this->memberData['has_blog']">

 

по этому не появляется кнопка Добавить запись.

Как можно проверить?

 

$this->memberData['has_blog'] пустой массив.

 

в таблице member значение has_blog равен 0

 

исправил тип поля на text. заработало!

Edited by ayd-in

Хм... Давным давно был такой баг, когда колонка has_blog в таблице members была не того типа, из-за чего частично не работал функционал.

 

Почитайте эту тему - может, это ваш случай: http://ipbskins.ru/forum/topic5777.html

  • Author

Хм... Давным давно был такой баг, когда колонка has_blog в таблице members была не того типа, из-за чего частично не работал функционал.

 

Почитайте эту тему - может, это ваш случай: http://ipbskins.ru/forum/topic5777.html

 

Да это мой случай, имеyно по этой ссылке нашел и исправил.

теперь нужно разобраться с подключением блоков (Календарь, последние 10 комментариев и т.д.) там не работает js. =(

Как можно найти ошибку?

Сравнить шаблон с оригиналом? Стандартный шаблон был изменен до неузнаваемости, есть шаблон Surface не тронутый, там js работает. Значит загрузчик js работает. Верно? Мне нужно чтобы в стандартном скине работал.

Edited by ayd-in

Скрипты могут быть привязаны к верстке, и, если её сильно изменили, может возникнуть какая-то ошибка. Поэтому, первым делом, возьмите Firefox, откройте консоль ошибок (ctrl+shift+j) и зайдите на страницу блогов. Отфильтруйте в консоли все лишнее, оставив только ошибки, попробуйте поработать с блоками. Скорее всего в консоли посыпятся ошибки - вот их скопируйте и выложите сюда.

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.