На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
Прежде чем задать вопрос, зайдите в раздел FAQ, возможно там уже есть ответ на него.
Если вы хотите вставить код в сообщение, то пожалуйста выделяйте его тегом [code=dfp] ... [/сode].
Для этого используйте кнопку [code=dfp] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Delphi for PHP.
Модераторы: ViktorXP, vicis
  
> Запарка с Frame и FrameSet в D4php...
    Как я знаю из делфи, фреймы нужны для вставки форточек (других форм) на текущее окно...
    Дело в том, что одну форточку подключить получилось, но все последующие не отображаются!
    В чем может быть причина?

    Смысл в том, чтоб добавить главное меню на все страницы (уже добавлено), левую панель и подвал (которых не видно)...
    Может я неправильно делаю или требуется другой подход?

    Ниже прикреплен мой проект... Забыл спросить, есть ли книжка именно по D4php?
    Сообщение отредактировано: DrBlack -

    Прикреплённый файлПрикреплённый файлSayt_UKSiT.rar (173.4 Кбайт, скачиваний: 131)
      Цитата DrBlack @
      Забыл спросить, есть ли книжка именно по D4php?
      Этого добра нет. есть только тех документация на VCL for php и книги по php.

      посмотри как реализован пример ECommerceExample (довольно удобрый способ комбинировать куски страниц).
      исходник есть в демо примерах.
        Проблему с форточками решил используя панели, достоинства и недостатки:
        + При проектировании, сразу видно как все отображается, а используя форточки, видно было только при запуске проекта
        - Авто ширины нет в отличии от форточек

        Теперь пару вопросов:
        Как открыть с помощью кнопки другую страницу (привыкшее мне в делфи форма.show() не работает)
        Где взять литературу именно по D4php, уже гуглил, ничего не попалось (((
        Конечно знания делфи помогают немного, но очень сложно разбираться без книжки....
        Куда записать лучше имя текущего пользователя (где объявить переменную), как потом узнать его имя с другой страницы??

        ЗЫ: Просмотрел все темы, вроде этого нигде не встретил...
        ЗЫ2: Почему у меня некоторые виз объекты выводят сообщение об ошибки в сценарии при их добавлении на форму? :blink:
          Цитата DrBlack @
          ЗЫ2: Почему у меня некоторые виз объекты выводят сообщение об ошибки в сценарии при их добавлении на форму?
          А куда они еще должны выводить? )))
          Цитата DrBlack @
          Конечно знания делфи помогают немного, но очень сложно разбираться без книжки....
          Куда записать лучше имя текущего пользователя (где объявить переменную), как потом узнать его имя с другой страницы??
          В dfp только логика делфийская, а язык PHP. Многие ответы ты найдешь в книгах по пыху (как его называют сами пехаписты).
            Цитата
            ЗЫ2: Почему у меня некоторые виз объекты выводят сообщение об ошибки в сценарии при их добавлении на форму?
            Цитата
            А куда они еще должны выводить? )))

            Да нет, всмысле я добавляю объект на форму, следом выходит сообщение: "На этой страницы произошла ошибка сценария"
            Цитата
            В dfp только логика делфийская, а язык PHP. Многие ответы ты найдешь в книгах по пиху (как его называют сами пехаписты).

            Да, у меня есть пару книг, но там даже близко неописывает их использование на D4php, хотябы взять переход на другую страницу.
            Т.е. там используются теги <a href> и </a>, но мне надо не устанавливать ссылку на объект после какого-то процесса, а сразу запускать ее!
            Вот так в общем, и все-таки, вы-то наверное знаете, у меня ввели логин, нажали кнопку, в которой проверяется верный логин или нет, при первом случае запускаем одну страницу, при другом, страницу регистрации например...
            Как осуществить переход на другую страницу?
            ЗЫ: на счет языка, складывается впечатление, что пишу на С++ в обочке делфи, уж очень похож синтаксис... :crazy:
            Сообщение отредактировано: DrBlack -
              как вариант глянь идеотский вопрос 2
              как второй вариант то опять таки можно посмотреть реализацию ECommerceExample. там когда заходишь в админку и не залогинен то он спрашивает логин.

              Добавлено
              Цитата DrBlack @
              Да нет, всмысле я добавляю объект на форму, следом выходит сообщение: "На этой страницы произошла ошибка сценария"
              Ну это ошибка из браузера. может быть по разным причинам. если компонент в последствии работает нормально то махни рукой если же нет то нужно разбираться.
                Цитата
                как вариант глянь идеотский вопрос 2

                Не работает, страница обновляется и никуда не переходит...
                ExpandedWrap disabled
                  function Button2JSClick($sender, $params)
                  {
                    ?>
                    location.href="http://www.mail.ru/";
                    <?php
                  }
                Сообщение отредактировано: ViktorXP -
                  Это событие пихается в JS Event. подозреваю что ты всунул не в ту вкладку событий (ибо при глюке форма не обновилась бы)
                    Яндекс рулит! Нашел более впечатляющий вариант...

                    header('Location:Unit2.php');
                    exit();


                    Перемещение по страницам происходит, более того не нужен JS(я вообще хочу все время стараться обходить его чистым пхп)!
                    Одно но... :lool:

                    Если у меня страница, на которой выполняется этот код, является форточкой (точнее панель), то переход не происходит, точнее вместо требуемой страницы появляется надпись: "Warning: Cannot modify header information - headers already sent by (output started at D:\Sayt UKSiT\vcl\forms.inc.php:1632) in D:\Sayt UKSiT\leftpanel.php on line 26".

                    Как можно разрулить?

                    ЗЫ: Неужели вам трудно представить свой вариант перехода на требуемую страницу (например Unit2)?
                      Цитата DrBlack @
                      header('Location:Unit2.php');
                      exit();
                      Он не всегда будет работать. (vcl любит что то свое воткнуть в header из за чего такой переход перестает работать.)
                      и кстати по ссылке из шестого поста этот пример есть )))) читаешь не внимательно.

                      Цитата DrBlack @
                      ЗЫ: Неужели вам трудно представить свой вариант перехода на требуемую страницу (например Unit2)?
                      стараюсь избегать подобного. у меня или перенаправляется по средством пользователя (он ткнул на какую то кнопку) или я просто меняю внутренний контент формы (перенаправлять вообще нет смысла так как открываемый модуль всего один index.php и в зависимости от того какие параметры ему передаются он подгружает нужный контент и если понадобится то я меняю контент не перенаправляя на другую страницу)
                        Цитата ViktorXP @
                        )))) читаешь не внимательно.

                        поддерживаю
                        читаеш очень невнимательно
                        и вообще впечатление что не читаеш совсем
                        сделай следующее
                        1. просмотри все примеры (как сделано и как работает)
                        2. почитай основы php
                        3. без javascript сейчас практически сайтов не найдёш
                        тем более если хочеш что бы сайт быстрее работал
                        а тем боле если ajax потребуется
                        так что читай и про него
                        4.когда пишеш упторебляй понятные всем названия т.к. понятие фотрочка это из коммуналки
                        а здесь есть страница, форма, окно и при этом это могут быть разные объекты и компоненты
                        тогда тебе понятно и ответят
                        5. посмотри раздел документации на этом форуме, там масса видеопримеров
                        6. способов открытия инфомации в другом окне или странице масса
                        вот некторые

                        просто в html странице
                        ExpandedWrap disabled
                          <html>
                          <head>
                          <SCRIPT LANGUAGE="JavaScript">
                          <!--
                           
                          function redirect(link, target)
                          {
                            // Осуществляем переход
                            switch (target)
                              {
                                  case '_top':   window.top.location = link; break;   // Откроем в том же окне, если target=_top
                                  case '_blank': window.open(link); break;        // Откроем в новом окне, если target=_blank.
                                  case '_self':  document.location = link; break; // Откроем прямо в iframe баннера.
                                  default: window.open(link); // По-умолчанию AdRiver откроет в новом окне.
                              }
                          }
                          //-->
                          </SCRIPT>
                          </head>
                          <body>
                          <p><a href="javascript:redirect('http://www.mysite.ua/page1', '_top')">Кликните сюда</a>
                          <p><a href="javascript:redirect('http://www.mysite.ua/page2', '_blank')">Или сюда</a>
                          <p><a href="javascript:redirect('http://www.mysite.ua/page3', '_self')">Или сюда</a>
                          <p><a href="javascript:redirect('http://www.mysite.ua/page4')">Или сюда</a>
                           
                          </body>
                          </html>


                        тоже самое в DelphiForPhp

                        ExpandedWrap disabled
                                         function PageInfoBeforeShow($sender, $params)
                                         {
                                         echo "
                          function redirect(link, target)
                          {
                            // Осуществляем переход
                            switch (target)
                              {
                                  case '_top':   window.top.location = link; break;   // Откроем в том же окне, если target=_top
                                  case '_blank': window.open(link); break;        // Откроем в новом окне, если target=_blank.
                                  case '_self':  document.location = link; break; // Откроем прямо в iframe баннера.
                                  default: window.open(link); // По-умолчанию AdRiver откроет в новом окне.
                              }
                          }
                          ";
                                         }
                           
                          // у button2 свойство ButtonType = btNormal поставь
                           
                          function Button2JSClick($sender, $params)
                          {
                            ?>
                            redirect('http://www.mysite.ua/page1', '_top');
                            <?php
                          }
                           
                          // здесь открываем другую форму своего проекта (если только она в корне сайта лежит)
                          function Button3JSClick($sender, $params)
                          {
                            ?>
                            redirect('/Unit2.php', '_top');
                            <?php
                          }
                           
                           
                          // здесь открываем другую форму своего проекта и передаём ему два значения (если только она в корне сайта лежит)
                          function Button3JSClick($sender, $params)
                          {
                            ?>
                            redirect('/Unit2.php?programugov=10&adekvatnih=0', '_top');
                            <?php
                          }


                        или так

                        ExpandedWrap disabled
                          function Button2JSClick($sender, $params)
                          {
                            ?>
                            location.href="http://www.mail.ru/";
                            <?php
                          }


                        ещё несколько вариантов здесь смотрим
                        Модальное окно (сообщение #2507853)

                        и здесь
                        FAQ (сообщение #2347063)

                        и здесь
                        FAQ (сообщение #2507943)

                        и здесь
                        FAQ (сообщение #2558270)

                        и здесь
                        FAQ (сообщение #2559242)

                        для автоширины панели используй панели компонентов ExtJS или вручную ровняй ширину панели в событии формы
                        кроме того можно использовать html шаблоны где задать выравнивание в коде html
                        у панели есть свойство include (вставить другую страницу)
                        кроме того есть компоненты Frame и FrameSet
                        посмотри ещё пример с наследованием где можно создать одну страницу предок, и унаследовать её содержимое в другие страницы

                        Добавлено
                        Цитата DrBlack @
                        ЗЫ: Неужели вам трудно представить свой вариант перехода на требуемую страницу (например Unit2)?

                        тебе же указали на пример ECommerceExample
                        смотрел ?
                        там стандартный в мире php переход по страницам
                        вот он в сети здесь
                        Сообщение отредактировано: vicis -
                          vicis, наверное это самый исчерпывающий ответ... :crazy:
                          Тема закрыта...
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0422 ]   [ 15 queries used ]   [ Generated: 2.05.24, 20:14 GMT ]