zrobilem sobie w adminie mozliwosc wklejania kodu mapy gogla - zeby nie grzebac sie w tpl i zeby user mogl sobie go zmieniac sam. miedzy innymi dodalem wpis w settings.tpl :
kiedyś opisywałem rozwiązanie problemu textarea w panelu admina (zapisywanego do config). Albo zmienisz funkcję saveVariables(), albo zapisz to do osobnego pliku bazodanowego. Np. pl_pages_maps.php. Ze wszystkimi konsekwencjami: definicji, dodatków w funkcji savePage i savePages a także throwPage i deletePage. Osobiście wybrałbym to drugie.
no tak myslalem zapisac do osobnego pliku - ale niewiem jak go poprawnie zdefiniowac - mozesz naprowadzic ? zmiany musialbym wprowadzic jedynie w settings.tpl czy w innych plikach rowniez?
tak z głowy: aby to zapisywać porządnie (w 'standardzie QC') do osobnego pliku to trzeba zmian w core/pages.php w w/w funkcjach, oczywiście w .tpl trzeba utworzyć _pages_map.def.php i posiedzieć nad tym trochę. Można też poszukać, w jaki sposób ominąłem 'zniekształcenia' przy zapisywaniu do config z pola textarea. Szybciej i krócej ;-)
" Textarea ma tę przypadłość, że jeśli używasz w niej "enter" to w stringu pojawia się CR LF (0D 0A [#13 #10]) i wtedy przy zapisywaniu takiego stringu z "enterami" w środku textu, dzieją się "cudeńka" w stawianiu ";" na końcu linii. Bo ten średnik ";" jest stawiany po każdym 0A (LF), czyli nowa linijka KODU PHP zacznie się od reszty textu z textarea. I dlatego te błędy. Rozwiązanie: w pliku /core/common-admin.php w funkcji: saveVariables dodaj POD linijką: $sValue = stripslashes( $sValue ); linijkę: $sValue = str_replace(chr(13).chr(10),'\n', $sValue); Czyli ciąg "x0D x0A" wychodzący z textarea zamieniamy na najzwyklejszy "newline" --> "\n". W tekście w general.php (lub xx_lang.php) będzie to trochę nieczytelnie wyglądać ("będzie\nnieczytelnie\nwyglądać") ale w textarea przecież to oglądasz i zmieniasz. A tam "śliczności" :-) Na jednolinijkowe inputy to nie ma wpływu, bo one ze swojej natury nie wyrzucają z siebie 0D (CarriageReturn), więc takiej sekwecji 0D0A w nich nie ma, ergo ta dodatkowa linijka będzie trafiać tylko wielolinijkowe texarea. "
czy to oto ci chodzi? chyba ze pisales w quickcarcie
Wszyscy dziś tacy niecierpliwi. 1. W podanym przykładzie adresu googla masz błąd. W ostatnim " ; przed </iframe> jest spacja między 'quot' i ';' nie powinno jej tam być. 2. W actions_client/p.php zaraz pod pierwszą linijką (if(isset($iContent))...) włóż: if($iContent==X) $sGoogleInfo=html_entity_decode($config['map']); X to numer strony (jej ID) na której ma się ta mapa wyświetlić. 3. w templates/pages_default.tpl włóż $sGoogleInfo tam, gdzie to chcesz mieć. Np. pod albo nad: <div class="content" id="pageDescription">$aData[sDescriptionFull]</div>
Rozwiązanie problemu jest w html_entity_decode. a pisałem o podobnym problemie tu: http://opensolution.org/Quick.Cart/forum/?p=readTopic&nr=7215