Java-апплет в друпале - PullRequest
       37

Java-апплет в друпале

0 голосов
/ 14 марта 2011

У меня есть Java-апплет в форме, подобной следующей

$form['applet'] = array(
  '#prefix' => '<div>',
  '#markup' => '<p align=center>
<applet codebase="." code="Clock.class" width=170 height=150>
</applet>
</p>',
  '#suffix' => '</div>',
  );

куда мне поместить файл Clock.class, чтобы drupal всегда загружал его. Что-то делать с функцией base_path.

Ответы [ 3 ]

1 голос
/ 14 марта 2011

Если есть другие классы и ресурсы, которые нужно загрузить, вы, вероятно, захотите заменить '.' для кодовой базы с путем к этому каталогу вместо изменения пути к файлу .class.

Предполагая, что ваш файл класса является частью модуля в апплете подпапки, что-то вроде этого должно работать:

... codebase = "' . drupal_get_path('module', 'yourmodule') . '/applet/" code...

(не уверен, нужен ли косой черты)

1 голос
/ 14 марта 2011

Этот HTML заставил бы JRE найти класс в том же каталоге, что и веб-страница.

1 голос
/ 14 марта 2011

Я не знаком с апплетами.Но если вам нужен абсолютный путь к нему, вы должны поместить его в модуль, создающий форму, и использовать drupal_get_path.

В коде это будет выглядеть так:

$path = drupal_get_path('module', 'MODULE_NAME');

$form['applet'] = array(
  '#prefix' => '<div>',
  '#markup' => '<p align=center>
<applet codebase="'$path'" code="Clock.class" width=170 height=150>
</applet>
</p>',
  '#suffix' => '</div>',
  );

Используя приведенный выше код, вам нужно поместить апплет в корень вашего пользовательского модуля.Вы также можете создать подпапку для своего апплета и поместить ее туда, если хотите.Последнее является наиболее дружественным способом сделать это, но я склонен создавать подпапки только в том случае, если в модуле более 3-5 файлов.

...