Перейти к публикации
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.

Как вывести JS из dev/js/* ?

Опубликовано:

Здравствуйте. Я написал JS код в каталоге /dev/js/.../123.js, всё скомплилось в /data/javascript.xml, обновил приложение на рабочем форуме, js файлов этих нет. Как вообще оно работает? Не могу понять.

Рекомендованные сообщения

Опубликовано:

js файлов этих нет.

Где нет?

Опубликовано:
  • Автор

В исходном коде я не нашел ни файлов, ни строк в других JS файлах со своего файла. Может надо переустанавливать приложение а не обновлять?

Опубликовано:
  • Автор

Если оно автоматически не подключается, зачем вообще делать это в DEV, если можно точно так же вывести файл из interface. Зачем вообще компилится код в javascript.xml?

Опубликовано:

. Зачем вообще компилится код в javascript.xml?

Чтобы добавить код при установке приложения.

Опубликовано:
  • Автор

Не пойму. В DEV версии у меня JS файл подключается так:

http://prntscr.com/nv5lh5

<section class="ipsWidget_inner ipsPad_half" data-controller='wc3.front.ActiveGames.GameList'>

 

Сделал в виджете:

http://prntscr.com/nv5lmc

\IPS\Output::i()->globalControllers[] = 'wc3.front.ActiveGames.GameList';

 

Не работает.

 

-----------------------

 

Вот такое же расположение: http://prntscr.com/nv5q6j

Изменено пользователем TemKa_SD

Опубликовано:

Вы приложение обновляли, но яваскрипт поменяли только для инсталятора, видимо. Поэтому при обновлении у Вас ничего не поменялось и не добавилось в core_javascript и дисковом кэше. Либо не обновился шаблон, где Вы подключаете свой контроллер. Или всё вместе. Проверяйте - чего не хватает, правьте upgrade.php, для соответствующей версии приложения.

Опубликовано:
  • Автор

Нет, пытаюсь при установке это всё запустить. Какой метод подключения должен точно работать?

Опубликовано:
  • Автор

http://prntscr.com/nvaice

http://prntscr.com/nvaih8

 

Мой файл записало в массив.

 

Смотрим дальше...

 

http://prntscr.com/nvby9u - в базе данных всё в порядке, скрипты записались.

 

На странице файла core_javascript нет, он точно должен быть?

Опубликовано:
  • Автор

Я посмотрел примеры, controllers подключаются вот как у меня:

 

http://prntscr.com/nvcagl

 

1. В шаблоне есть data-controller

2. В базе данных JS скрипт есть, все названия и пути совпадают.

3. В DEV версии работает отлично, т.е подключается через data-controller.

 

Что еще ?

 

Как-то можно задебажить это?

 

data-controller="wc3.front.ActiveGames.GameList"

Изменено пользователем TemKa_SD

Опубликовано:

Если файл не подключен на странице, то сами подключайте (ссылка в 4-ом посте).

Опубликовано:
  • Автор

Не может найти файл: http://prntscr.com/nvn8b2 http://prntscr.com/nvn8fy ну и это понятно, он же в базе данных, или как? Как мне загрузить его из БД?

 

Я понимаю, если я загружу файл в тот же interfaces то всё заработает, я так и делал уже. Но почему, будучи разрабатывая в папке DEV, он компилится и в БД и в javascript, я должен копировать файл и вставлять его в ручную в interfaces? Я не хочу так.

Изменено пользователем TemKa_SD

Опубликовано:

А прочитать docblock?

	/**
 * Get a JS bundle
 *
 * @par JS Bundle Cheatsheet
 * @li library.js (this is jQuery, mustache, underscore, jstz, etc)
 * @li framework.js (this is ui/, utils/*, ips.model.js, ips.controller.js and the editor controllers)
    * @li admin.js or front.js (these are controllers, templates and models which are used everywhere for that location)
 * @li app.js (this is all models for a single application)
 * @li {location}_{section}.js (this is all controllers and templates for this section called ad-hoc when needed)
 *
 * @param	string		$file		Filename
 * @param	string|null	$app		Application
 * @param	string|null	$location	Location (e.g. 'admin', 'front')
 * @return	array		URL to JS files
 */
public function js( $file, $app=NULL, $location=NULL )

Опубликовано:
  • Автор

Всё равно не понимаю. Эти вот параметры в $file принимаются ?

Опубликовано:
  • Автор

\IPS\Output::i()->js( 'front_', 'wc3', 'front' )

 

section это что? cotrollers?

 

\IPS\Output::i()->js( 'front_controllers', 'wc3', 'front' )

 

\IPS\Output::i()->js( 'front_controllers_ips.ActiveGames.GameList.js', 'wc3', 'front' )

 

Не понимаю....

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

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.