| |
|
|
| | делаю свой шедевр потехоньку но как не мучался не копался где не могу понятЬ!
смотрите!
Есть папка plugins ( кстати если не так пишется поправте :) )
Допустим я ложу туда папку search КАК МНЕ СДЕЛАТЬ КАКОЙ СКРИПТ написать что бы в меню или где нить появилась ссылка на plugins/search/index.php автоматом?
Модули хочу присобачить что бы самму мона было делать (самому это юзеру :) )
а как не наю :( | |
| |
|
|
| |
|
|
| |
для: Panker
(14.11.2006 в 11:09)
| | | Вот ели подробней
моя навигация
<form>
<select NAME="java-navigator" onchange="index.location.href = this.options[this.selectedIndex].value;" size="1">
<option value="start.php">Гоавное меню</option>
тут главное меню которое в основе лежит и задаю я
<option value="start.php">Модульное меню</option>
а тут бы хотелось бы видить ссылки на модули.
</select>
</form>
|
модули как у же выше сказал лежат в папке плугинс в своей папке!
то есть мне надо как то автоматом определять все папки в папке плугинс и если есть папки давать адрес на index.php в папке модульс :( | |
| |
|
|
| |
автор: AtomicBlast (14.11.2006 в 12:46) |
|
| |
для: Panker
(14.11.2006 в 12:04)
| | | Могу сказать следующее: можно сгенерировать xml файл, куда прописывать url нужного модуля. Можно добавить еще и атрибут, куда прописывать название для вывода в меню, например. Потом распарсить эту эксемелину и вывести все это в том же меню.
<?xml version="1.0" encoding="windows-2151"?>
<modules>
<module>
<name>Super Search</name>
<url>path-to-script</url>
</module>
<module>
<name>Super Guestbook</name>
<url>path-to-script</url>
</module>
<module>
<name>Super Forum</name>
<url>path-to-script</url>
</module>
</modules>
|
| |
| |
|
|
| |
|
|
| |
для: AtomicBlast
(14.11.2006 в 12:46)
| | | упражённый вопрос - это что? | |
| |
|
|
| |
автор: AtomicBlast (14.11.2006 в 13:09) |
|
| |
для: elenaki
(14.11.2006 в 12:58)
| | | При подключении к.л. модуля в xml файл прописывается путь к скрипту или значения параметра GET запроса. Например, index.php?action=SuperSearch.
Данные парсятся из xml файла. При определенном url подключается определенный модуль, т.е. то, что прописано в xml файле.
Например, модуль называется Super Search. url модуля будет path-to-script
<a href="path-to-script">Super Search</a>
Или
<a href="index.php?action=path-to-script">Super Search</a> | |
| |
|
|
| |
автор: AtomicBlast (14.11.2006 в 13:11) |
|
| |
для: AtomicBlast
(14.11.2006 в 13:09)
| | | windows-1251 Так правилно будет :) | |
| |
|
|
| |
|
|
| |
для: AtomicBlast
(14.11.2006 в 13:11)
| | | хммм...
я думал ещё типа делаеш модуль, заходиш в админку добавляеш в базу строку чт обы создал в базе ссылку модуля1
типа модуль сделал
защёл в базу и в таблицу модулей записал ссылку на модулЬ!
было бы легко в меню выводить ссылки на модули и так далее )))
но факт в том что оно не само! :)
видимо незя сделать так что бы ПРОСТО положил папку в папку модулей и всё в меню появилась новая ссылка :) | |
| |
|
|
| |
|
|
| |
для: Panker
(14.11.2006 в 13:32)
| | | Хых... вот решение... примитивно, но... работает :)
<?
$handle = opendir('modules/');
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
echo '<a href="http://mysite.ru/modules/'.$file.'">'.$file.'</a><br>';
}
}
closedir($handle);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(14.11.2006 в 14:17)
| | | это уже проще, чем с XML морочиться :) только как я понял, там архитектура такая, что каждый модуль находится в своей папке.. то есть plugins/module/index.php - и тогда потребуется сканить не фалы, а папки
<form>
<select NAME="java-navigator" onchange="index.location.href = this.options[this.selectedIndex].value;" size="1">
<option value="start.php">fafasfafaf</option>
fasfasfaf
<?php
$handle = opendir('modules');
while (false !== ($module = readdir($handle)))
{
if (is_dir($module) AND $module != "." AND $module != "..")
{
echo "<option value='plugins/$module/index.php'> $module";
}
}
closedir($handle);
?>
</select>
</form>
|
только вот в меню будет выводиться название папки с модулем, то есть как папку назовёшь то и выйдет.. не очень красиво...
PS: обработчик формы не работает в Firefox | |
| |
|
|
| |
|
|
| |
для: NIK
(14.11.2006 в 15:01)
| | | >только вот в меню будет выводиться название папки с модулем, то есть как папку назовёшь то и выйдет.. не очень красиво...
>
Вот потому я и предложил идею с xml. Можно и MySql для этого использовать, но юзать xml для подобных целей мне больше нравится. | |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(14.11.2006 в 15:05)
| | | <form>
<select NAME="java-navigator" onchange="index.location.href = this.options[this.selectedIndex].value;" size="1">
<?php
$handle = opendir('modules');
while (false !== ($module = readdir($handle)))
{
if (is_dir($module) AND $module != "." AND $module != "..")
{
echo "<option value='../plugins/$module/index.php'>$module";
}
}
closedir($handle);
?>
</select>
</form>
чёта вааааше ноль :(э
не показывается не чего не в фаер фоксе не в любом другом браузере :) | |
| |
|
|
| |
|
|
| |
для: Panker
(14.11.2006 в 15:34)
| | | Конечно работать не будет. Обрати внимание на is_dir($module). Здесь надо полный путь прописать. Т.е.
$mods = 'modules'.$module;
|
| |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(14.11.2006 в 16:45)
| | | чё то не догоняю :(
<?php
$handle = opendir('../');
while (false !== ($module = readdir($handle)))
{
if (is_dir($module) AND $module != "." AND $module != "plugins/")
{
echo "<option value='$module/index.php'>$module";
}
}
closedir($handle);
?>
|
не понимаю какие пути нужны блин :( что то странно :( | |
| |
|
|
| |
|
|
| |
для: Panker
(14.11.2006 в 17:23)
| | |
<?php
$path = '.';
$array = scandir($path);
foreach($array as $ar)
{
$newPath = $path.'/'.$ar;
if($ar != "." && $ar != "..")
{
if(is_dir($newPath))
{
echo '<a href="'.$newPath.'">'.$newPath.'</a><br>';
}
}
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(14.11.2006 в 16:45)
| | | точно :) заленился проверить.. >_< | |
| |
|
|
| |
|
|
| |
для: NIK
(14.11.2006 в 19:59)
| | | опять не понимаю1
я пишу этот код в файл админки!
то есть по отношениию к админке папка плугинов находится ../plugins/ тут папки с модулями!
я пишу так
<?php
$path = '../plugins';
$array = scandir($path);
foreach($array as $ar)
{
$newPath = $path.'/'.$ar;
if($ar != "." && $ar != "")
{
if(is_dir($newPath))
{
echo '<a href="'.$newPath.'">'.$newPath.'</a><br>';
}
}
}
?>
|
а мне в ответ Fatal error: Call to undefined function: scandir() in z:\home\newcms\www\admin\admin.php on line 26
как не менял ту переменую что сканится одна фигня :( | |
| |
|
|
| |
|
|
| |
для: Panker
(14.11.2006 в 21:17)
| | | Тут, кажется, дело не в директориях. У тебя, скорее всего, само php не так скомпилировано. | |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(14.11.2006 в 23:36)
| | | А что именно может быть не так?
так как я много раз переделывал этот денвер у меня он навернео метров 100 уже весит от всякого Г :)
Не могли бы подсказат ьчто подправить? или это смертельно ? :) | |
| |
|
|
| |
|
|
| |
для: Panker
(15.11.2006 в 11:53)
| | | Я денвером не пользуюсь. Устанавливаю все то, что есть под винду. Другие функции работают нормально? | |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(15.11.2006 в 12:23)
| | | да вроде бы жалоб не было! всё работало и работает :( | |
| |
|
|
| |
|
|
| |
для: Panker
(15.11.2006 в 14:33)
| | | Очень странно... Fatal error: Call to undefined function: scandir() in z:\home\newcms\www\admin\admin.php on line 26 | |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(15.11.2006 в 16:15)
| | | Реализована начиная с PHP 5 | |
| |
|
|
| |
|
|
| |
для: Trianon
(15.11.2006 в 16:19)
| | | Тогда, конечно, понятно почему ругань матная. | |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(15.11.2006 в 16:22)
| | | я смотрю всем тут всё понятно кроме меня валенка :))
что мне делать то ? :) | |
| |
|
|
| |
|
|
| |
для: Panker
(15.11.2006 в 18:18)
| | | Или php переустанавливать, или не использовать функцию scandir. | |
| |
|
|
| |
|
|
| |
для: Atomic Blast
(15.11.2006 в 19:37)
| | | хммм ну как то же можно её устоновить ? :(
скачал последнию версию ДЕНВЕРА и всё равно таже ошибка
или скан дир тока в 5 версии пхп ?
а как тогда в 4ой делали ? :) | |
| |
|
|
| |
|
|
| |
для: Panker
(17.11.2006 в 12:10)
| | | Так вот например ПХП НУКЕ!
он же вышл давно и у него сразу же был модуль модулей!
у него суешь папку в папку модулей и на странице главной рисунок с ссылкой на модуль
мне бы как нить делать что бы была просто ссылка на главную страницу модуля | |
| |
|
|
| |
|
|
| |
для: Panker
(20.11.2006 в 09:35)
| | | хммм чеопс прошёл мимо :)))) | |
| |
|
|
| |
|
|
| |
для: Panker
(17.11.2006 в 12:10)
| | | >а как тогда в 4ой делали ? :)
с помощью opendir() и readdir()
http://php.net/opendir | |
| |
|
|
| |
|
|
| |
для: Trianon
(20.11.2006 в 13:31)
| | | вот класс, сделал!
<?php
if ($handle = opendir('../user_plugins/')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<li style='border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom-style: dotted; border-bottom-width: 3px' type='circle'><br><a target=index href=../user_plugins/$file/index.php>$file</a></li>";
}
}
closedir($handle);
}
?>
|
сделал то что мне надо!
А теперь ТУЛУЛАААА самое сложное :)
Возможно ли теперь открывать ВСЕ файлы index.php во всех найденых папках и читать первую строку котоаря будет типа modules.gif что бы я брал её и выводил не просто ссылку но и картинку модуля ? :)) | |
| |
|
|