Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SowaCms, easy way to manage dynamic content
060156
post
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Kilka miesiecy temu przegladalem rozne CMS i
jakos zaden nie zaspokoil moich potrzeb.
Dlatego napisalem swoj.
Jego ide mozna objezec na http://208.67.193.20/Cms/SowaCms/Index.php
A kilka aplikacji wykonanych w nim to:
http://www.teamrobinsonusa.com/
http://http://208.67.193.20/Cms/ppvas/Index.php
http://208.67.193.20/Cms/RmCms/Index.php
http://www.myfinanceguard.com/
Wdzieczny bede za uwagi i sugestie.
Pozdrawiam
bg

Ten post edytował 60156 4.05.2009, 20:07:49
Go to the top of the page
+Quote Post
3 Stron V   1 2 3 >  
Start new topic
Odpowiedzi (1 - 41)
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


nie podobają mi się URL poszczególnych podstron.
Go to the top of the page
+Quote Post
060156
post
Post #3





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Jak tylko to Ci sie nie podoba to super.
Oczywiscie Url-e mozna zmienic uzywaja rewrite module, aczkolwiek sa one tak dobrane ze wzgeldu na SEO.
Dzieki za uwagi.
Go to the top of the page
+Quote Post
vokiel
post
Post #4





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Sorry bardzo ale co jest z SEO w adresie ...Cms/SowaCms/page/1.1/1.php
Chyba tylko pozycjonowanie słowa SowaCMS, bo page/1.1/1.php w żaden sposób...

Ogólnie to dał byś jakiś demo panel adm

A co to za krzaczek?
  1. </HEAD>

- Poza tym układ mieszany tabelkowo-divowy
- skrypty js porozrzucane po całym dokumencie
- kliknięcie w logo(nazwę) nie przenosi do strony głównej (adresu bazowego) tylko do strony home z tym dziwnym adresem 1.1.....

Co do wyglądu, to są gusta i guściki, ten SowaCms dość ładny. Ciekawe jak wygląda sprawa templatów.

W3C - CSS
W3C - HTML
Pozdrawiam
Go to the top of the page
+Quote Post
netvalue
post
Post #5





Grupa: Zarejestrowani
Postów: 199
Pomógł: 2
Dołączył: 9.06.2008

Ostrzeżenie: (0%)
-----


Cytat(vokiel @ 18.04.2009, 11:15:45 ) *
Sorry bardzo ale co jest z SEO w adresie ...Cms/SowaCms/page/1.1/1.php
Chyba tylko pozycjonowanie słowa SowaCMS, bo page/1.1/1.php w żaden sposób...


Kompletnie się mylisz... nazwą pliku/katalogu nie pozycjonujesz, bynajmniej w googlach.
Go to the top of the page
+Quote Post
Moli
post
Post #6





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Kompletnie się mylisz... nazwą pliku/katalogu nie pozycjonujesz, bynajmniej w googlach.

Adres nazwa.pl/1.1/1.php jest lepiej pozycjonowany od nazwa.pl/strona/tytul-strony.html ? Człowieku poczytaj o pozycjonowaniu, co to za seo jak masz końcówkę ".php" ? (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
060156
post
Post #7





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Przegladalem troche roznyh CMS i podstawowy problem ktore one maja to:

*) mizerna prezentacja grafincza (nie mozna sowjej zaprojektowac)
*) niezbyt porosty panel zarzadzania kontentem
- osoby nie majace wiedzy o webie moga miec problemy poslugiwaniem
*) wydajnosciowe problemy

W SowaCms wiekszosc tych problemow usunalem przez zastowanie:
*) generowanie hedera/menu/stron na podstawie opracowanego CSS stylu,
czyli mozna latwo wymienic styl stron zachowujac kontent
*) strona posiada regiony (np: row1.col1, row1.col1, row1.col2, etc...)
*) do regionu strony mozna dolaczyc story
*) story jest generowane jako HTML i prezentuje ono:
- default post
- popup widnow
- email
*) story moga miec media (image, video, flash), link i menu
*) zdjecia po upload moga podlegac obrobce (image processing) czyli automatycznie zmienianie ich rozmiar (wysokosc lub szerokosc) aby dopasowac do post-a.

*) module do komunikacji z back end systemem np:
- login, comments, poll, etc...
- dynamiczne konfigurowanie
- walidacja pol w javascript

*) wiele rzeczy uproscilo sie przez zastosowanie Ajax+JSON (asymteryczny) zamiast form post.


Wjecej o koncepcji SowaCms mozna zobaczyc pod:
http://208.67.193.20/Cms/SowaCms/page/1.1/67.php

dziekuje za uwagi

Ten post edytował 60156 18.04.2009, 16:08:46
Go to the top of the page
+Quote Post
060156
post
Post #8





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Nie chwale sie bo nie musze, oczekuje sugesti i kilka juz zostalo mi przedstawionych.
Wiem ze na tym formu ludzie maja dobre pomysly i korzystam z tego.

Zawansowane strony pod wzgledem ukladu i grfiki wymagaja CSS
bowiem zadawanie stylu przy kazdym tagu jest nieefektywne i trudno tym zarzadzac.
Go to the top of the page
+Quote Post
drake88
post
Post #9





Grupa: Zarejestrowani
Postów: 283
Pomógł: 15
Dołączył: 22.03.2009
Skąd: Bytów

Ostrzeżenie: (0%)
-----


Mi tam się nawet podoba, ile czasu to pisałeś?
Go to the top of the page
+Quote Post
060156
post
Post #10





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Odpowiadajac:
*) zaczalem pracowac nad SowaCms w sierpniu 2008 po kilka godzin wieczorami
*) po analizie Drupal, Joomla i innyh CMS-ow doszedlem do wnisku ze najlepsze jest podejscie pisania generatorow (php dla naglowka i strony, html dla story) np. ustalonego stylu web site. Oczywiscie kazdy moze dodac swoj generator i styl.
*) Uklad strony mozna zmienic, bowiem jest ona podzielona na regiony do ktorych dolacza sie story, mozna napisac tez swoj generator strony (jezyk php z drobnymi zmianami aby nie bylo kolizji z $, ", etc..) i zaprojektowac styl do tego.

Przyklad wygenerowanej strony:

  1. <?php
  2. define("CMS_PAGE_ID",12);
  3. define("CMS_PAGE_URI","1.1/12");
  4. include_once("SowaSession.inc");
  5. $_ses = new Session();
  6. include_once("../../inc/Config.inc");
  7. SowaCms::check_cms_url();
  8. if(SowaCms::page_test())
  9.     include_once("../../inc/HeaderTest.inc");
  10.    else
  11.   include_once("../../inc/Header.inc");
  12. start_page("About Us",__FILE__,"","",0);
  13.          Html::js("SowaCms.CMS_PAGE_ID='12'");
  14.          Html::js("SowaCms.CMS_PAGE_URI='1.1/12'");
  15. Html::css("http://localhost/Cms/SowaCms/layout/css/StoryDefault.css");
  16. Html::script("http://localhost/Cms/SowaCms/layout/js/StoryDefault.js");
  17. $content_wrap = new Div("content-wrap");
  18.           $main = new Div("main","style='width:760px'");
  19. $tc = new HtmlTable("style='width:760px'");
  20.            $tc->trtd("align=center");
  21. $tr = new HtmlTable("style='width:760px'");
  22. $tr->trtd();
  23.  SowaCms::story("story/1.1/20.html");
  24. unset($tr, $tc, $main);
  25. unset($content_wrap);
  26.        if(isset($_ses)) {
  27.          global  $__no_last_page_uri;
  28.         if(isset($__no_last_page_uri) && $__no_last_page_uri) {
  29.          if($lp = SowaCms::sarg("last_page_uri")) {
  30.            Html::js("SowaCms.CMS_LAST_PAGE_URI='$lp'");
  31.          }
  32.         }
  33.          else
  34.           SowaCms::sarg("last_page_uri",CMS_PAGE_URI);
  35.         }
  36.         end_page(__FILE__);
  37.         SowaCms::search();
  38. ?>


Przyklad wygenerowanego story:

  1. <A id="anchor" name="anchor_1.1/20">
  2. <DIV class='post_box' align=justify>
  3. <DIV class='post_box_title'>ABOUT US</DIV>
  4.  
  5. <DIV class='post_box_body' style='height:100%'><B>SowaCms</B> is a world leader in the <B><I>Content Management Systems</I></B> and Interactive Web Site development, offering the industry's most comprehensive and affordable solutions for growing their business and assuring customer satisfaction. <B>SowaCms</B> specializes in providing companies with flexible sales, marketing, support, and business automation web based solutions.
  6. <BR/ ><BR/ >
  7. 6300 Milgen Rd #1047<BR/ >
  8. Columbus GA, 31907<BR/ >
  9. Phone: 678-429-1155<BR/ >
  10. <A href="mailto:boguslaw.gil@gmail.com?subject=sowacms">boguslaw.gil@gmail.com</A>
  11. </DIV>
  12. <DIV class='post_box_end'><A href='http://localhost/Cms/SowaCms/page/1.1/5.php' class='a'>contact us</A>&nbsp;<IMG src='http://localhost/Cms/SowaCms/layout/img/arrow.png' style='margin-bottom:-2px'></DIV>
  13. </DIV>
  14. </A>


Tutaj jest url do tej strony: http://208.67.193.20/Cms/SowaCms/page/1.1/12.php

Ten post edytował 60156 18.04.2009, 17:29:23
Go to the top of the page
+Quote Post
060156
post
Post #11





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Jest to porawnie:

jesli widzisz pod obrazkeim other gallery>> to odswierza sie strona jak klikniesz na obrazek aby pokazac inna galerie wygenerowana random, jesli masz napis see more >> to przechodzi do innej strony celowo gdzie jest opis elementu galerii.
Oczywiscie to sie ustala podczas projektowania galerii.
http://208.67.193.20/Cms/SowaCms/page/1.1/1.php

dzieki za uwagi
Go to the top of the page
+Quote Post
l0ud
post
Post #12





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Na pewno nie jest poprawne to, że link po kliknięciu przekierowuje na localhost (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
060156
post
Post #13





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Przepraszam zle zrozumialem poprzednigo posta,
Oczywiscie masz racje. Jest jakis blad i to poprawie.

Dzieki za spostrzezenie ..
Go to the top of the page
+Quote Post
AxZx
post
Post #14





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


Cytat(60156 @ 18.04.2009, 08:06:13 ) *
Jak tylko to Ci sie nie podoba to super.
Oczywiscie Url-e mozna zmienic uzywaja rewrite module, aczkolwiek sa one tak dobrane ze wzgeldu na SEO.
Dzieki za uwagi.


pod kątem SEO to wcale taki adres nie jest dobry.
więcej nie wiem co mi się nie podoba, bo co mam oceniać?
to co udostępniłeś to jest jakiś efekt działania aplikacji.
jeżeli mam oceniać obsługę tej aplikacji, czyli uzupełnianie strony treścią, dodawanie obrazków, zdjęć, tworzenie galerii etc to udostępnij panel administracyjny gdzie będzie można to robić.
Go to the top of the page
+Quote Post
Pilsener
post
Post #15





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat
Jego ide mozna objezec na
- nie no, sorry, ale przecież taką stronę można zrobić w każdym CMS'ie, daj lepiej strukturę bazy albo dostęp do panelu administracyjnego.

Z tego co napisałeś (regiony, story) kompletnie nic nie rozumiem - i po co tu jakiś AJAX? Po mojemu to CMS ma mi umożliwiać:

1. utworzenie dowolnej liczby kategorii i podkategorii
2. kwestie typu przesuwanie pozycji menu góra-dół
3. generator menu
4. możliwość przypisania do każdej kategorii:
- dowolnego szablonu (templatu)
- dowolnej liczby styli w podziale na poszczególne media (bardzo ważne)
- dołączanie dowolnej liczby fragmentów kodu HTML+CSS (nazywam to panelami)
- grafiki i plików
- modułów generujących dynamiczną treść, włącznie z łatwą implementacją własnych
5. nice url on/off oraz wiele innych parametrów
6. wykorzystanie dziedziczenia (np. tworzę nową podkategorię i dziedziczy ona style i meta z kategorii nadrzędnej)
7. parametryzowany generator meta-tagów (dziedziczenie tagów, generowanie dynamiczne, generowanie mieszane, szerokie wsparcie SEO, definiowanie własnych słów kluczowych itp.)
8. możliwość dołączania dowolnej liczby styli i podziału ich na media (dla mnie kluczowe - bo jak mam np. zdefiniować wydruk strony)

Pewnie coś pominąłem. Dla mnie CMS ma mi zapewniać 100% edycji kodu HTML+CSS i koniec - inaczej to zwykły skrypt, musi to być narzędzie do tworzenia serwisu a nie serwis, w którym można edytować treść, CMS nie ma mieć najmniejszego wpływu na efekt końcowy w postaci strony www - bo ten ma zależeć tylko i wyłącznie od użytkownika.
Go to the top of the page
+Quote Post
060156
post
Post #16





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Odpowiadajac na Twoje Pytania:
*) Ajax zamiast form post
*) no wlansie SowaCms w podstawowej wersji nie wymaga edycji CSS i HTML,
tylko zaklada sie strony (galerie, post), menu, page i tyle.
*) obecne CMS sa takie np: ze aby jezdzic samochodem to trzeba sie zanc na tym jak skonstruowany jest silnik
(bezsens koncepcyjny calkowity)
*) do @ V sxe
- jak nie rozumiesz to pogladaj spokojnie
- jesli mi mozesz pdodac przyklady stron CMS-ow o ktorych piszesz,
bede bardzo wdzieczny.

Pozdrawiam

Ten post edytował 60156 19.04.2009, 03:36:42
Go to the top of the page
+Quote Post
Pilsener
post
Post #17





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat
no wlansie SowaCms w podstawowej wersji nie wymaga edycji CSS i HTML,
tylko zaklada sie strony (galerie, post), menu, page i tyle
- no i niczym to się nie różni od skryptu, w którym edytujesz "środek", a cała reszta jest statyczna. A ja chce założyć serwis, gdzie np. kategoria 1 będzie miała dwie kolumny a kategoria 2 już trzy kolumny - i co wtedy? Wymagam też wydajności: mają być wczytywane tylko te elementy, które są niezbędne - czyli np. galeria nie jest w ogóle includowana, jeśli nie jest potrzebna. Dla mnie CMS to coś zupełnie innego niż np. dodawanie newsa czy galerii - to robią zewnętrzne skrypty, które mogę dodać do swojego CMS'a jako jego moduły i wybrać kategorie serwisu, dla których będą wykonywane. Dobry CMS ma mi umożliwić bezproblemowe wykonane szkieletu pierwszej lepszej strony przy pomocy swojego panelu administracyjnego.

Z CMS'ów o większych możliwościach nie należy zapominać o Drupalu. I nie nazywajmy CMS'ami systemów typu "daję Ci 3 kolumny, a Ty edytujesz zawartość środkowej", bo to żaden CMS dla mnie. Chyba, że wymyślimy jakąś nową nazwę dla systemów do stawiania serwisów internetowych.
Go to the top of the page
+Quote Post
060156
post
Post #18





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Cytat
1)Ale po co AJAX zamiast POST, skoro i tak przeladowuje sie cala strona zamaist okreslonego kawalka? IMHO bez sensu...


No bardzo przydatny ze wzgeldu na wygode:
*) zalaczam przyklad (pobranie danych do rejestracji, wyslanie do servisu i przejscie do innej strony jak rejestracja sie udala)
- pobranie danych do rejestracji
  1. var sign = Gui.objectFromView("customer","first_name;last_name;address1;address2;city;state;zip;phone;email;user_name
  2. password");

- wyslanie do servisu i przejscie do innej strony jak rejestracja sie udala
  1. MyService.service(SowaCms.cmsUrl("module")+"ModuleServices.php","registration",
  2. [["sa","sign",sign,
  3. ["sr",Registration_onSubmit_Yes_response]]);
  4. function Registration_onSubmit_Yes_response(body, args, error) {
  5. SowaCms.location(SowaCms.CMS_LAST_PAGE_URI);
  6. }


Ten post edytował 60156 19.04.2009, 11:48:36
Go to the top of the page
+Quote Post
marcio
post
Post #19





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Dobra Koles (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Cms jest lajtowy fajnie wyglada niby wszystko miodzio ale dopoki nam nie pokazesz PA to co my mamy oceniac kod html,layout etc??

Zapodaj site do PA to bedzie co oceniac bedziemy mogli zobaczyc jak chodzi ten cms i w ogole.
Go to the top of the page
+Quote Post
060156
post
Post #20





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Uzycie Ajax-u zdecydowanie upraszcza przesylanie Content objektow (Jawascript) w przegladarce do PHP Serwisu, gdzie sie staja PHP obiektami i mozna je procesowac. Php serwis, ktory je procesuje przesyla
odpowiedz (np. blad) i nie ma wtedy potrzeby zmiany strony tylko uzytkownik musi poprawic
wartosci wprowadzane (np. Bledne haslo uzytkownika). Jesli chcesz uzyc np. javascript popularnej biblioteki Ext
do wyswietlania Grid-ow etc.. to przy tym rozwiazaniu staje sie to bardzo latwe.

Natomiast uzywajac form & post jak wiesz doskonale mozesz przesylac tylko pary (name, value) i
strona musi byc odswierzona. Ponadto sa problemy z Back w przegladarce.

Ten post edytował 60156 19.04.2009, 17:46:06
Go to the top of the page
+Quote Post
wlamywacz
post
Post #21





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Cytat(60156 @ 19.04.2009, 16:10:55 ) *
Uzycie Ajax-u zdecydowanie upraszcza przesylanie Content objektow (Jawascript) w przegladarce do PHP Serwisu, gdzie sie staja PHP obiektami i mozna je procesowac. Php serwis, ktory je procesuje przesyla
odpowiedz (np. blad) i nie ma wtedy potrzeby zmiany strony tylko uzytkownik musi poprawic
wartosci wprowadzane (np. Bledne haslo uzytkownika). Jesli chcesz uzyc np. javascript popularnej biblioteki Ext
do wyswietlania Grid-ow etc.. to przy tym rozwiazaniu staje sie to bardzo latwe.

Natomiast uzywajac form & post jak wiesz doskonale mozesz przesylac tylko pary (name, value) i
strona musi byc odswierzona. Ponadto sa problemy z Back w przegladarce.


Ajax stosowany jako dodatek i udogodnienie a nie podstawa działania. Jeśli chodzi o back & post, to zasada jest taka, że jeśli wystąpił błąd to użytkownik dostaje te samą stronę + błędy + przefiltrowane dane w $_POST którymi się wypełnia inputy. W innym wypadku robi się zwykły redirect + komunikaty na session i gotowe. W ogóle wydaje mi się, że masz mizerną wiedzę na ten temat.
Go to the top of the page
+Quote Post
060156
post
Post #22





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Dzieki za uwagi,

Uzycie Ajax-u wynika z tego ze wczesniej robilem dokladnie tak jak opisales
i bardzo mi sie to nie podobalo.

Polecam strone: http://208.67.193.20/Cms/SowaCms/page/1.1/4.php
wybierz Submit i moze zobaczysz roznice miedzy tym rozwiazaniem a
zwyklym postem.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #23





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Dosyc niewygodne, bo jak zamkne okno to nie wiem co zle wypelnilem (a jest kilka pozycji i wszystkich nie pamietam). A w czasie gdy okienko jest widoczne to formularz jest zabokowany.
Go to the top of the page
+Quote Post
060156
post
Post #24





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Dokladnie, wiesz bo pola nie wypelnione lub zle wypelnione,
wyswietlaja sie w innym kolorze (skyblue) czyli wiesz dokladnie co masz wypelnic.
Moze kolor jest zle dobrany.
Poprawilem specjanie dla Ciebie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) na bardziej widoczny.
http://208.67.193.20/Cms/SowaCms/page/1.1/4.php
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #25





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Ano teraz widze roznice.
Go to the top of the page
+Quote Post
060156
post
Post #26





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Czyli zgadzasz sie ze mna ze jest to lepsze rozwiazanie
od wyswietlania gdzies informacji na stronie odswiezonej o tym co zostalo zle wypelnione ?
Teraz widac dokladnie co musisz wypelnic.
Go to the top of the page
+Quote Post
vokiel
post
Post #27





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Jednak lepiej by było gdyby dało się uzupełniać formularz wraz z aktywnym okienkiem z błędami, taka ściągawka. Tak to trzeba zamknąć okienko, żeby móc coś wpisać.
Poza tym byłby to niezły ficzer, żeby okienko się aktualizowało w trakcie poprawiania formularza;)
Go to the top of the page
+Quote Post
wlamywacz
post
Post #28





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


A pokaż nam jeszcze kod którym generujesz taki formularz
Go to the top of the page
+Quote Post
060156
post
Post #29





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Rejestracja sklada sie z 3 czesci

1) PREZENTACJA (VIEW):
  1. <?php
  2. // Registration Module View
  3.  $l = SowaCms::login();
  4. JScript::vars("SowaCms.vars",isset($vars)?$vars:"");
  5. $t = new HtmlTable();
  6. $t->script(SowaCms::cms_url("module")."js/sowa_validate.js");
  7. $t->script(SowaCms::cms_url("module")."js/Registration.js");
  8. if($l)
  9.  $t->trlb("PLEASE UPDATE YOUR REGISTRATION INFORMATION","class='label_box'");
  10.  else
  11.  $t->trlb("PLEASE ENTER YOUR REGISTRATION INFORMATION","class='label_box'");
  12. $t->trtd("align=center");
  13.  $f = new HtmlFieldSet("Account Informaton","class='legend'","style='margin:3px;width:99%'");
  14.   $f->trtd("align=center");
  15.   $c = new HtmlTable("cellspacing=5");
  16.   $c->tr();$c->tdlb("* First Name","class='label_input'");
  17.           $c->tdlb("* Last Name","class='label_input'");
  18.   $c->tr();$c->tdtext("customer.first_name","class='text' style='width:255px'","customer.last_name",$l?$l->first_name:"");
  19.            $c->tdtext("customer.last_name","class='text' style='width:255px'","customer.address1",$l?$l->last_name:"");
  20.   $c->tr();$c->tdlb("Address1","class='label_input' colspan=3");
  21.   $c->trtd("colspan=2");$c->text("customer.address1","class='text' style='width:515px' colspna=2","customer.address2",$l?$l->address1:"");
  22.   $c->tr();$c->tdlb("Address2","class='label_input' colspan=3");
  23.   $c->trtd("colspan=2");$c->text("customer.address2","class='text' style='width:515px' colspna=2","customer.city",$l?$l->address2:"");
  24.   $c->trtd("colspan=2");
  25.    $ts = new HtmlTable();
  26.    $ts->tr(); $ts->tdlb("City","class='label_input'");
  27.               $ts->tdlb("State","class='label_input'");
  28.               $ts->tdlb("Zip","class='label_input'");
  29.    $ts->tr(); $c->tdtext("customer.city","class='text' style='width:275px' colspan=2","customer.state",$l?$l->city:"");
  30.               $c->td();$c->sp();$c->select("customer.state",$states,"class='options'",$l?$l->state:"");
  31.               $c->sp();$c->tdtext("customer.zip","class='text' style='width:98px'","customer.phone",$l?$l->zip:"");
  32.    unset($ts);
  33.    $c->tr();$c->tdlb("Phone Number","class='label_input'");
  34.             $c->tdlb("* Email Address","class='label_input'");
  35.    $c->tr();$c->td("align=left"); $c->text("customer.phone","class='text' style='width:150px'","customer.email",$l?$l->phone:"");
  36.             $c->tdtext("customer.email","class='text' style='width:255px'",$l?"customer.password":"customer.user_name",$l?$l->email:"");
  37.    $c->tr();$c->tdlb("* User Name","class='label_input'".($l?" disabled=true":""));
  38.             $c->tdlb("* Password","class='label_input'");
  39.    $c->tr();$c->td("align=left");$c->text("customer.user_name","class='text' style='width:150px'".($l?" disabled=true":""),"customer.password",$l?$l->user_name:"");
  40.             $c->tdpassword("customer.password","class='text' style='width:255px'","customer.first_name",$l?$l->password:"");
  41.  unset($c,$f);
  42.  $t->trtd("align=right style='padding-top:5px'");
  43.  if($l) {
  44.   $t->button("No Thanks","Registration_onThanks()","class='button' style='width:80px'");$t->sp();
  45.   $t->button("Update Account","Registration_onSubmit(event,1)","class='button' style='width:120px'","button.submit");
  46.  }
  47.  else {
  48.   $t->button("No Thanks","Registration_onThanks()","class='button' style='width:80px'");$t->sp();
  49.   $t->button("Submit","Registration_onSubmit(event,0)","class='button' style='width:80px'","button.submit");
  50.  }
  51.  $t->trh("5px");
  52.  unset($t);
  53.  $d = new Div("dialog.message","style='left:0;top:0;visibility:hidden;position:absolute'");
  54.  unset($d);
  55.  
  56.  global  $__no_last_page_uri;
  57.          $__no_last_page_uri = 1;
  58.  
  59. ?>


2) VALIDACJA i WYSLANIEM AJAX-em requestu do Serwisu (CONTROLLER)
  1. function Registration() {
  2. }
  3.  
  4. function Registration_onSubmit(event, mode) {
  5. if(!SowaCms._onLoad)
  6. return ;
  7. Validate.reset();
  8. Validate.validate("customer.first_name","Missing First Name");
  9. Validate.validate("customer.last_name","Missing Last Name");
  10. Validate.validate("customer.email","Email Missing",Validate.email(),"Invalid Email");
  11. Validate.validate("customer.user_name","Missing User Name");
  12. Validate.validate("customer.password","Missing Password");
  13.  
  14. if(Validate.getError()) {
  15. Dialog.message("dialog.message", event, 0, mode?"MY ACCOUNT":"REGISTRATION ERROR",Validate.getError(),"Validate.setFocus()");
  16. return Dialog.modal("dialog.message");
  17. }
  18. Dialog.decision("dialog.message",event,0, mode?"MY ACCOUNT":"REGISTARTION","Do you want to "+(mode?"update my account":"submit registration")+" ?","Registration_onSubmit_Yes("+mode+")","Gui.setFocus('customer.first_name')");
  19. Dialog.modal("dialog.message");
  20. }
  21. function Registration_onSubmit_Yes(mode) {
  22. var cust = Gui.objectFromView("customer","first_name;last_name;address1;address2;city;state;zip;phone;email;user_name
  23. password");
  24. cust.account_id = SowaCms.accountId();
  25. Gui.disableElement("button.submit");
  26. Dialog.info("dialog.message",Gui._mouseX, Gui._mouseY, mode?"MY ACCOUNT":"REGISTRATION","Your request is processing ...");
  27. Dialog.modal("dialog.message");
  28. MyService.service(SowaCms.cmsUrl("module")+"ModuleServices.php","registration",
  29. [["sa","cust",cust],
  30. ["sr",Registration_onSubmit_Yes_response]]);
  31. function Registration_onSubmit_Yes_response(body, args, error) {
  32. Gui.enableElement("button.submit");
  33. if(error)
  34. return Dialog.message( "dialog.message",Gui._mouseX, Gui._mouseY, mode?"MY ACCOUNT ERROR":"REGISTRATION ERROR",error, "Gui.setFocus('customer.user_name')");
  35. if(mode) {
  36. if(SowaCms.CMS_LAST_PAGE_URI)
  37. SowaCms.location(SowaCms.CMS_LAST_PAGE_URI);
  38. else
  39. SowaCms.home();
  40. }
  41. else {
  42. if(SowaCms.vars.login_page)
  43. SowaCms.location(SowaCms.vars.login_page);
  44. else
  45. SowaCms.home();
  46. }
  47. }
  48. }
  49.  
  50. function Registration_onThanks() {
  51. if(!SowaCms._onLoad)
  52. return ;
  53. if(SowaCms.CMS_LAST_PAGE_URI)
  54. SowaCms.location(SowaCms.CMS_LAST_PAGE_URI);
  55. else
  56. SowaCms.home();
  57. }
  58.  
  59. function onLoad() {
  60. Gui.init();
  61. SowaCms.onLoad();
  62. Gui.setFocus("customer.first_name");
  63. }


3) SERWIS WYKONUJACY REJESTRACJE (MODEL)
  1. <?php
  2. // Registration Service
  3. include_once("SowaService.inc");
  4. $log = SowaCms::log();
  5. $db = SowaCms::db();
  6. $ses = SowaCms::ses();
  7. $_req = new Request();
  8. switch($_req->service()) {
  9.   case "registration":$cust = $_req->arg("cust");
  10.                       $user = SowaCms::login();
  11.                       if($user) {
  12.                         $db->update_object("cms_customer",$cust,"user_id={$user->user_id}");
  13.                         $user = $_db->query_object("cms_customer","*","user_id={$user->user_id}");
  14.                         $user->name = $user->first_name." ".$user->last_name;
  15.                         $user->cms_url = CMS_URL;
  16.                         $ses->sarg("_login_user",$user);
  17.                       }
  18.                       else {
  19.                        $cust->create_date = $_db->get_date_time();
  20.                        $db->insert_object("cms_customer",$cust,"",1);
  21.                        if(!$db->insert_id())
  22.                         $_req->error("User name '".$cust->user_name."' already exists, try other.");
  23.                       }
  24.                       break;
  25.    
  26.  default: {
  27.    $_req->error("Service  '".$_SERVER['PHP_SELF']."/".$_req->service()."'  not Implemented");
  28.  }
  29. }
  30. $_req->response();
  31. ?>


Czyli jak mozna zauwazyc jest to klasyczny model MVC (Model–view–controller)

Ten post edytował 60156 7.05.2009, 12:01:54
Go to the top of the page
+Quote Post
wlamywacz
post
Post #30





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Moim zdaniem kod js powinien być generowany wraz z php a nie, ze user sam musi pisać go.
Go to the top of the page
+Quote Post
060156
post
Post #31





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Masz racje i jest to calkowicie mozliwe,
generowanie kodu dla model, view, conntrol.
Zostawilem to sobie na pozniej.
Dziekuje za uwagi
Go to the top of the page
+Quote Post
wlamywacz
post
Post #32





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Może jednak pokazałbyś PA ?
Go to the top of the page
+Quote Post
060156
post
Post #33





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Przyslij email na adres: 060156@gmail.com
podami Ci URL i user/password


Dodalem do SowaCms wspomaganie do RSS;
- RSS Reader
- RSS Building
- Rss Listing

Tutaj jest url: http://208.67.193.20/Cms/SowaCms/page/1.1/167.php
wdzieczny bede za opinie
Go to the top of the page
+Quote Post
wlamywacz
post
Post #34





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Jakoś PA do mnie nie przemawia i jest mało intuicyjny.
Go to the top of the page
+Quote Post
nospor
post
Post #35





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




panowie, jesli to PA ma miec dostep jedna czy dwie osoby, to sobie na gg pogadajcie o PA bo w tym temacie to bedzie bezsensu
Go to the top of the page
+Quote Post
wlamywacz
post
Post #36





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


060156
Czy mogę udostępnić dane do PA lub sam je udostępnij.
Go to the top of the page
+Quote Post
060156
post
Post #37





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Przygotuje na jutro wersje PA dostepna dla wszystkich
i podam dane do niej.


Ddalem mozliwosc uruchomienia Demo SowaCms User Portal (PA).
Instrukcja jest na: http://208.67.193.20/Cms/SowaCms/Index.php
w sekcji MEMBERS AREA



Cytat(wlamywacz @ 8.05.2009, 07:59:14 ) *
Jakoś PA do mnie nie przemawia i jest mało intuicyjny.

Pewnie masz racje lecz budowanie zawansowanych stron tez nie jest proste.
Jesli masz jakies sugestie to chetnie je uwzglednie i wporawadze do PA.
Go to the top of the page
+Quote Post
bełdzio
post
Post #38





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Cytat(60156 @ 7.05.2009, 00:52:14 ) *
Czyli zgadzasz sie ze mna ze jest to lepsze rozwiazanie
od wyswietlania gdzies informacji na stronie odswiezonej o tym co zostalo zle wypelnione ?
Teraz widac dokladnie co musisz wypelnic.

tylko masz taki minus ze jak ktos ma wylaczona obsluge JS to zaden formularz nie dziala
Go to the top of the page
+Quote Post
060156
post
Post #39





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Jak najbardziej masz racje,
dotychczas nie spotkalem takiego przypadku bowiem
wiekszosc uzytkownikow internetu jest nastawiona na korzysci
plynace z Web 2.0 a tutaj JavaScript jest podstawa.
Go to the top of the page
+Quote Post
bełdzio
post
Post #40





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Cytat(60156 @ 8.05.2009, 18:55:53 ) *
Jak najbardziej masz racje,
dotychczas nie spotkalem takiego przypadku bowiem
wiekszosc uzytkownikow internetu jest nastawiona na korzysci
plynace z Web 2.0 a tutaj JavaScript jest podstawa.

1. przecietny uzytkownik nie ma pocjecia co to jest JS czy web 2.0 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
2. niektorzy korzystaja z komorek, a tam roznie bywa z js
Go to the top of the page
+Quote Post
060156
post
Post #41





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


No mam inne obserwacje.
Firma dla ktorej pracuje ma ponad 40 milionow klientow i duza czesc
aplikacji do ich obslugi jest zgodna z Web2.0 i aby ewentualnie zgodzic sie z Toba
lub nie spytalem Customer Support ilu narzekalo na to ze
wymagana jest JavaScript.
Odpowiedz 15-stu na 35 milionow wejsc w ostatnim miesiaca.

Odnosnie telefonow: ze wzgeldu na rozmiar ekranu aplikacje sie projektuje
inaczej, aczkolwiek testy na IPHONE wypadly dobrze.

Dzieki za uwagi.
Go to the top of the page
+Quote Post
dr_NO
post
Post #42





Grupa: Zarejestrowani
Postów: 197
Pomógł: 15
Dołączył: 10.09.2006
Skąd: Siemianowice Śląskie / Katowice

Ostrzeżenie: (0%)
-----


Do you want to login ?

heh wszystko na około, wszystko trzeba obiec by gdzieś dotrzeć ...

Mówisz na iPhone testy wyszły dobrze ? hmm no to mój przypadek jest najwidoczniej odosobniony ...
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:56