Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> замена php кода подскажите идею подробно внутри... 
:(
    Опции темы
lukas
Дата 12.9.2008, 15:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



кажется я понял человека... ))... 

Это что-то типа, админ заходит на сайт, там где вставленные компоненты есть кнопочки редактирования параметров компонента, если он нажимает на нее открывается окно с редактирование их, а затем они сохраняются в php файле... а как найти в php файле где вставлен этот компонент... ? я не знаю.... но я такое уже видел... это в полне реально... нужно разбираться... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
skyboy
Дата 12.9.2008, 17:31 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(lukas @  12.9.2008,  14:35 Найти цитируемый пост)
а затем они сохраняются в php файле...

зачем? зачем тогда БД и конфигурационные файлы, если можно отредактировать РНР и сохранить? 
PM MAIL   Вверх
Nigel
Дата 14.9.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: 7
Всего: 19



skyboy, ну это зависит от того, как спроектируешь)
пример из битрикса
Код

$APPLICATION->IncludeComponent(
    "bitrix:news",
    ".default",
    Array(
        "SEF_MODE" => "Y", 
        "IBLOCK_TYPE" => "news", 
        "IBLOCK_ID" => "1", 
        "NEWS_COUNT" => "3", 
        "USE_SEARCH" => "N", 
        "USE_RSS" => "Y", 
        "USE_RATING" => "N", 
        "USE_CATEGORIES" => "N", 
        "USE_REVIEW" => "N", 
        "USE_FILTER" => "N", 
        "SORT_BY1" => "ACTIVE_FROM", 
        "SORT_ORDER1" => "DESC", 
        "SORT_BY2" => "SORT", 
        "SORT_ORDER2" => "ASC", 
        "PREVIEW_TRUNCATE_LEN" => "0", 
        "LIST_ACTIVE_DATE_FORMAT" => "d.m.Y", 
        "LIST_FIELD_CODE" => Array("",""), 
        "LIST_PROPERTY_CODE" => Array("",""), 
        "HIDE_LINK_WHEN_NO_DETAIL" => "N", 
        "META_KEYWORDS" => "KEYWORDS", 
        "META_DESCRIPTION" => "DESCRIPTION", 
        "DETAIL_ACTIVE_DATE_FORMAT" => "d.m.Y", 
        "DETAIL_FIELD_CODE" => Array("",""), 
        "DETAIL_PROPERTY_CODE" => Array("SOURCE","",""), 
        "DETAIL_DISPLAY_TOP_PAGER" => "N", 
        "DETAIL_DISPLAY_BOTTOM_PAGER" => "Y", 
        "DETAIL_PAGER_TITLE" => "Страница", 
        "DETAIL_PAGER_TEMPLATE" => "", 
        "DISPLAY_PANEL" => "Y", 
        "SET_TITLE" => "Y", 
        "INCLUDE_IBLOCK_INTO_CHAIN" => "N", 
        "ADD_SECTIONS_CHAIN" => "Y", 
        "USE_PERMISSIONS" => "N", 
        "CACHE_TYPE" => "A", 
        "CACHE_TIME" => "3600", 
        "CACHE_FILTER" => "N", 
        "DISPLAY_TOP_PAGER" => "N", 
        "DISPLAY_BOTTOM_PAGER" => "Y", 
        "PAGER_TITLE" => "Новости", 
        "PAGER_SHOW_ALWAYS" => "N", 
        "PAGER_TEMPLATE" => "", 
        "PAGER_DESC_NUMBERING" => "Y", 
        "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", 
        "NUM_NEWS" => "20", 
        "NUM_DAYS" => "360", 
        "YANDEX" => "N", 
        "SEF_FOLDER" => "/news/", 
        "SEF_URL_TEMPLATES" => Array(
            "news" => "",
            "section" => "",
            "detail" => "#ELEMENT_ID#/",
            "rss" => "rss/",
            "search" => "search/"
        ),
        "VARIABLE_ALIASES" => Array(
            "news" => Array(),
            "section" => Array(),
            "detail" => Array(),
            "rss" => Array(),
            "search" => Array(),
        )
    )
);

Как видно, различные настройки прямо в файле, который и выводит соответсвующую инфу, в данном случае новости.
PM MAIL   Вверх
Sanchezzz
Дата 15.9.2008, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



lukas в точку попал.  
Цитата

Это что-то типа, админ заходит на сайт, там где вставленные компоненты есть кнопочки редактирования параметров компонента, если он нажимает на нее открывается окно с редактирование их, а затем они сохраняются в php файле... а как найти в php файле где вставлен этот компонент... ? я не знаю.... но я такое уже видел... это в полне реально... нужно разбираться... 


Nigel тоже попал в точку с примером. Это нечто похоже на компоненты битрикса только без использования Глобалс и до безобразия упрошены. 

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

я думал на выходных насчет такой конструкции: в главном модуле сделать переменную куда будут заносится компоненты которые вызываются на странице (php скрипте). то есть колич вызванных компонентов в саму функцию дописать следующие:

Код

class MAIN {
var arrComponent;

function initcomponent($typecomponent, $name , $parms){
$typecomponent = trim($typecomponent,' ');
$this->arrComponent++; //Прибавляем ИД 
$parms['ID_COMPONENT']=$this->arrComponent; //Добавляем его к массиву параметров.
 if(is_string($typecomponent) and $typecomponent!=''){
//... 
 }
}


Далее с толкнулся с парсером... нужно найти такую контрукцию 
Цитата

<? $MAIN->initcomponent('forum', array ('template'=> 'default' , 'typeforum' => 'forum1'),'ID_COMPONENT'=>0 ); ?>

Поможете со скриптом ?

Код

<b>ЭТО тест файл</b><br>Первый комопнент
<? $MAIN->initcomponent('forum', array ('template'=> 'default' , 'typeforum' => 'forum1','ID_COMPONENT'=>0)); ?>
<br>Второй комопнент
<? $MAIN->initcomponent('forum', array ('template'=> 'default' , 'typeforum' => 'forum5','ID_COMPONENT'=>1)); ?>


Парсер должен пробежаться по странице() если находит "<?" смотрит детально от и до завершения тега "?>"
в нутри тегов ищит "$MAIN->initcomponent(" если нашел то идет дальше находит array ('template'=> выдерет его от и до в отдельную переменную после чего смотрит на наличие 'ID_COMPONENT'=> если есть то вырезает до ) далее проверяем с номером компонента которого мы искали если совпадает то выдаем весь массив параметров. Ну если нечего не находит то идет дальше до конца документа.

Парсер должен выдать массив параметров комопнента. C меня + каждому кто поможет.

Это сообщение отредактировал(а) Sanchezzz - 17.9.2008, 07:00


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0955 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.