Lonas
28.09.2006, 07:15:01
Hej - będę sie zabieral za napisanie w miare prostego cms,
może ktoś ma jakieś materiały którymi moze sie podzielic ,jak zaplanowac napisanie tej aplikacji, strukture bazy, za wszelkie pomocne informacje będę wdzięczny.
na wstępie chciałem spytać - jak uzyskać okno w którym tekst jest formatowany - zupełnie jak teraz kiedy pisze posta - i w jaki sposób później ten sformatowany tekst pokazać na stronie ?
mike
28.09.2006, 07:18:13
Pro? Wolne żarty.
Przenoszę na php.
skowron-line
28.09.2006, 07:29:46
Kod
na wstępie chciałem spytać - jak uzyskać okno w którym tekst jest formatowany - zupełnie jak teraz kiedy pisze posta - i w jaki sposób później ten sformatowany tekst pokazać na stronie ?
odpowiedzia na o pytanie moze byc fckeditor lub jakis skrypcik ja mam cos takiego:
<script language="JavaScript"> function emoticon(tresc) {
tresc = '' + tresc + '';
if (document.shoutbox.tresc.createTextRange && document.shoutbox.tresc.caretPos) {
var caretPos = document.shoutbox.tresc.caretPos;
caretPos.tresc = caretPos.tresc.charAt(caretPos.tresc.length - 1) == ' ' ? tresc + ' ' : tresc;
document.shoutbox.tresc.focus();
} else {
document.shoutbox.tresc.value += tresc;
document.shoutbox.tresc.focus();
}
}
<a href="java script:emoticon('
')"></a> <a href="java script:emoticon('<b>')">
</a>...<a href="java script:emoticon('</b>')"></a> -
<b>pogrubienie
</b> <a href="java script:emoticon('<i>')">
</a>...<a href="java script:emoticon('</i>')"></a> -
<i>pochylenie
</i> <a href="java script:emoticon('<u>')">
</a>...<a href="java script:emoticon('</u>')"></a> -
<u>podkre
ślenie
</u>
<form name="shoutbox" method="post" action=""> tytul:
<input type="text" name="tytul" size="40"><input type="submit" name="submit" value="zapisz">
ale to bardzo okrojona wersja tego c ojest na forum
Lonas
28.09.2006, 07:58:04
@skowron-line ten skrypcik nie działa

Własnie chciałbym mieć coś takiego - what You see is what You get

- czyli tak jak ktos w textarea wpisuje tak mu sie pojawi na stronie.. plus to formatowanie
monster
28.09.2006, 08:19:12
Jako edytor WYSIWYG do tworzenia artykułów możesz wykorzystać także
TinyMCE.
Lonas
28.09.2006, 08:52:44
@monster - to jest bardzo fajne dziekuje -
Pytanie teraz - dokument ktory wygeneruje mi to narzedzie - wlasciwie jego kod źródłowy - powinienem caly trzymac w bazie ?
wipo
28.09.2006, 09:13:17
On Ci generuje cały kod html strony.
Możesz go trzymać w bazie lub plikach.
Co do tych edytorów wysiwig to zauważyłem że często się wali formatowanie jak się wlepi coś np w MS WORDa
thornag
28.09.2006, 09:47:51
Ja proponuje po prostu pogooglowac w poszukiwaniu edytorow WYSIWYG.
Co do CMSa to napisz jakie przewidujesz funkcjonalnosci wtedy mozemy Ci jakos pomoc z baza z rozwiazaniami itp.
Po prostu co chcesz tam miec
Lonas
28.09.2006, 10:26:23
Najbardziej zależy mi na tym jak zbudować menu - żeby użytkownik sam ustalał sobie - dział poddział ewentualne pod kategorie
Nie wiem czy musze statycznie okreslic że podkagegori moze byc np 3.. czy to można dynamicznie zrobić
free
28.09.2006, 11:23:21
Tez tworze CMS - sys ogłoszeń. Jedyny problem z jakim się nie moge uporac to wspomniene wyżej dodawanie podkategorii do istniejacej kategorii. Od strony php i SQL powinienem sobie samodzielnie poradzic. Problem jest w rozwiazaniu technicznym, gdyż robie to pierwszy raz. Macie jakies sugestie, linki ?
wipo
28.09.2006, 11:35:39
Zrób tak że nazwy będą siedzieć w bazie:
id (int auto_increment) - master (int) - opis varchar(255)
Jak kategoria jest główna to w master wpisz -1
W przeciwnym wypadku do master wpisujesz id madrzędne (matke)
Możesz też opcjonalnie dodać pozycje (żeby można było zmieniać kolejność)
Lonas
28.09.2006, 11:40:20
Nie za bardzo kumam
wipo
28.09.2006, 12:10:46
Jakos wpisujesz kategorie do bazy (czyli tworzysz menu)
Więc dajesz tabele
----------------------------------------------------------------------------------------
| id_menu int auto_increment | master int | pozycja int | opis varchar(255) |
----------------------------------------------------------------------------------------
I wpisujesz dla przykładu
Samochody
- Osobowe
- Ciężarowe
Lodówki
Pralki
To będzie tak
insert into wpisy values (1,-1,1,'Samochody');
insert into wpisy values (2,1,1,'Osobowe');
insert into wpisy values (3,1,2,'Cięzarowe');
insert into wpisy values (4,-1,2,'Lodówki');
insert into wpisy values (5,-1,3,'Pralki');
Coś mniej więcej w tym guście
Rozumiesz?
Lonas
28.09.2006, 13:19:19
Ale musze narzucić z góry ile może być podkategori, nie da się żeby użytkownik sobie układał
np samochody
- osobowe
- biale
- czerwone
-nowe
-uzywane
- ciezarowe
pralki
lodowki
itd
wipo
28.09.2006, 13:30:27
Jak dasz odpowiednie pętle do się da.
Popróbuj a zobaczysz
Takie zastosowanie nie ma ograniczenia ilościowego (przynajmniej konstrukcyjnie)
free
28.09.2006, 18:01:10
Wipo co oznacza znak minusa "-" przy 1 : insert into wpisy values (1,-1,1,'Samochody'); ?
myth
28.09.2006, 18:34:36
Cytat(free @ 28.09.2006, 19:01:10 )

Wipo co oznacza znak minusa "-" przy 1 : insert into wpisy values (1,-1,1,'Samochody'); ?
Po prostu sobie przyjal, ze wartosc -1 maja Dzialy [A], a wartosc 1 to co do nich zalezy [B].
Na w/w przykladzie:
Samochody [A1]
- Osobowe [B1]
- Ciężarowe [B2]
Lodówki [A2]
Pralki [A3]
...
wipo
28.09.2006, 18:57:13
Dokładnie tak jak myth napisał
Jak dało się zauważyć pola gdzie dałem wartość -1 nazywają się master.
-1 dałem dlatego żeby mieć pewność że będzie to wartość inna od id.
cicik
28.09.2006, 19:15:29
Cytat(wipo @ 28.09.2006, 19:57:13 )

Jak dało się zauważyć pola gdzie dałem wartość -1 nazywają się master.
-1 dałem dlatego żeby mieć pewność że będzie to wartość inna od id.
SQL ma takie laden slowko NULL.
Jak zaczniesz wstawiac -1 albo 0 to ci szlag trafi wiezy referencyjne
wipo
28.09.2006, 20:08:36
Wszystko zależy od tego jaką wartość przyjmiesz.
Ja przyjełem -1 i u mnie śmiga i się nic złego nie dzieje.
Ty przyjełeś NULL i jak sądze też działa
cicik
28.09.2006, 20:10:44
Cytat(wipo @ 28.09.2006, 21:08:36 )

Ja przyjełem -1 i u mnie śmiga i się nic złego nie dzieje.
Ty przyjełeś NULL i jak sądze też działa
Ustaw sobie wiezy referencyjne pomiedzy tabelami i zrozumiesz czemu Twoje podejscie jest zle.
wipo
28.09.2006, 20:18:07
Poczytaj dokladnie o co chodziło.
Podpowiem: człowiek się pyta jak zrobić menu kaskadowe a nie zakładać odpowiednie klucze.
Jak chcesz pouczać to daj przykład jaki proponujesz zastosować
cicik
28.09.2006, 20:23:20
Cytat(wipo @ 28.09.2006, 21:18:07 )

Jak chcesz pouczać to daj przykład jaki proponujesz zastosować
Skoro prosisz:
create table menu (id bigint not null auto_increment, nadrzedne bigint, nazwa varchar(100) not null, primary key(id));
alter table menu add foreign key (nadrzedne) references menu; <-- z tego powodu wstawienie w kolumne nadrzedne -1 sie nie uda.
Potem w skrypcie rekurencyjnie trzeba zbudowac drzewo.
Lonas
29.09.2006, 06:58:04
A pytanie odnosnie WYSIWYG - jak lepiej :
Zapisywac kod do bazy czy do plikow -
jeszcze dochodzi problem że artykuly beda w kilku jezykach i tez bede musial zrobic przelaczanie miedzy jezykami.
Nievinny
29.09.2006, 07:18:51
Wydajnośc jest kewstią sporną w tym aspekcie. Ja zapisywałbym do bazy, ułatwi to zarządzanie nimi, szczególnie jak się doda w tabeli pole Lang i przełączanie nie stanowi problemu.
free
30.09.2006, 10:57:34
Tez uwazam, ze do bazy danych lepiej zapisywac dane.
Lonas masz juz gotowy skrypt do WYSIWYG ?
wipo
30.09.2006, 12:33:47
Po googlaj a znajdziesz nie jeden
Niewątpię, ale chodzi mi o skrypcik z opisem kodu bym wiedzial OCB i dostosowac na wlasne potrzeby. Poza tym czy taki WYSIWYG jest praktyczny ? Bo do komentarzy na strone to by sie nadawal, ale juz do uaktualniania strony z uzyciem div czy table juz nie bardzo z powodu jego zaawansowania.
To wrzuc strone i iframe i tyle
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.