Grupa MagazynyInternetowe
Online: 924
osCommerce to skrypt, który przez lata królował wśród aplikacji do prowadzenia sklepu internetowego. Jednak przez ten czas internet poszedł do przodu, a osCommerce wciąż stał w miejscu. Efektem tego są tysiące małych e-sklepów, które co prawda działają, ale daleko im do nowoczesnych serwisów. Sytuację ratują jednak darmowe dodatki publikowane przez niezależnych programistów. Wybraliśmy najlepsze z nich. Pokażemy również, jak poradzić sobie z ich instalacją.
Wbrew pozorom, niewielu właścicieli stron opartych na osCommerce z własnej woli decyduje się na dłubanie w jego kodzie źródłowym. Zwykle taka konieczność pojawia się, gdy trzeba zmienić wygląd sklepu.
Po tzw. kontrybucje, czyli dodatki zwiększające możliwości sklepu, sięgają już tylko wprawni programiści. Prezentują one bowiem często różny poziom i nie są pozbawione błędów. Wiele kontrybucji jest po jakimś czasie porzucanych przez ich autorów, co przekreśla nadzieje na wsparcie techniczne. Przez to ich instalacja nie zawsze kończy się sukcesem, a to zniechęca do dalszych eksperymentów.
Oczywiście można w zamian sięgnąć po gotową przeróbkę całego sklepu, przygotowaną przez specjalistyczną firmę. To jednak kosztuje, a przecież podstawową zaletą osCommerce jest brak opłat. To dlatego wiele sklepów wykorzystujących osCommerce wygląda tak podobnie do siebie. W tę pułapkę wpadają nawet nowo uruchomione sklepy - szczególnie w Polsce, gdzie osCommerce nie miał do niedawna żadnej realnej konkurencji (obecnie zmienia się to za sprawą aplikacji Magento).
Na potrzeby tego artykułu zainstalowaliśmy na testowej wersji osCommerce każdy z omawianych dodatków. Dlatego nasze instrukcje są pozbawione błędów i zawierają wskazówki, których nie znajdziesz w oficjalnej dokumentacji.
Zacznijmy jednak od instalacji nowego sklepu, która w przypadku osCommerce jest bardzo szybka i banalnie łatwa. Będziesz do tego celu potrzebował konta WWW z obsługą PHP oraz dostępu do bazy danych MySQL. Wystarczy, że pobierzesz polską wersję skryptu ze strony http://www.oscommerce.pl, rozpakujesz archiwum i wgrasz całą jego zawartość na serwer.
Następnie należy zmienić prawa dostępu do pliku catalog/includes/configure.php oraz catalog/ admin/includes/configure.php na 777 (użyj polecenia chmod 777). Dzięki temu instalator będzie mógł automatycznie wgrać do tego pliku parametry bazy danych. Po zakończonej instalacji pamiętaj, aby zmienić prawa dostępu do tych plików na 404.
Teraz pozostało już tylko otworzyć stronę www. twojastrona.pl/catalog w przeglądarce internetowej i podążać zgodnie z instrukcjami instalatora. Po kilku minutach twój sklep zostanie zainstalowany i będziesz mógł się zalogować do panelu administracyjnego, aby zacząć wprowadzać nowe produkty... stop!
Zanim przystąpisz do wprowadzania oferty, przemyśl jak powinna wyglądać prezentacja towaru oraz jakie opcje pomogą w klientom w zakupach. Najlepiej zrobić to na samym początku, ponieważ dzięki temu unikniesz wprowadzania zmian do dodanych już pozycji. Pomocne w tym mogą się okazać dodatki opisane w kolejnej części artykułu.
Wersja instalacyjna OsCommerce pozwala na dodanie tylko jednej fotografii prezentującej sprzedawany przedmiot. Zdjęcia mają kluczowe znaczenie w sklepach internetowych, dlatego najlepiej rozpocząć ulepszanie skryptu od modyfikacji tego elementu.
Po zainstalowaniu kontrybucji More Pics (http://addons.oscommerce.com/i...) będziesz mógł wgrywać do 6 dodatkowych zdjęć dla każdego towaru.
Instalację More Pics rozpocznij od pobrania, a następnie rozpakowania archiwum z modułem. Na początek wgraj plik database_additions.txt do swojej bazy danych. Zawarte w nim polecenia sprawią, że w tabeli "products" pojawią się pola, w których będą zapisywane informacje o ścieżce dodatkowego zdjęcia. Plik zmodyfikuje też tebele "configuration", co pozwoli na kontrolę ustawień modułu More Pics z poziomu panelu administracyjnego. Następnie do pliku catalog/includes/languages/polish.php dodaj przed końcowym tagiem:
1. define('CLOSE_POPUP', 'zamknij okno'); 2. define('MORE_PIC', 'Więcej zdjęć');
Teraz należy dodać w panelu administracyjnym pola umożliwiające wgrywanie zdjęć.
Najłatwiejszym rozwiązaniem jest podmiana pliku catalog/admin/categories.php na taki sam plik z z kontrubucji. Jeśli jednak już dokonywałeś wcześniej zmian w pliku categories.php, skorzystaj z jednego z programów do porównywania zawartości plików (np. WinMerge) i nanieś odpowiednie zmiany. To samo zrób z plikiem catalog/admin/includes/functions/general.php.
Kolejnym krokiem jest zdefiniowanie nazw w pliku językowym. Przed ostatnim tagiem, w pliku admin/includes/languages/polish/categories.php dodaj:
1. define('TEXT_PRODUCTS_SUBIMAGE1', 'Zdjęcie1:'); 2. define('TEXT_PRODUCTS_SUBIMAGE2', 'Zdjęcie2:'); 3. ...
odpowiednio dla wszystkich 6 zdjęć.
Jeśli dokonałeś już w panelu administracyjnym, to kolej na stronę sklepu. Najważniejszy plik, który nas interesuje, to product_info.php. Jeśli jeszcze nic w nim nie zmieniałeś, podmień go na ten z kontrybucji.
W pliku tym są zdefiniowane trzy różne sposoby wyświetlania plików: "sides", "above" i "below". Możesz wybierać pomiędzy nimi w panelu administracyjnym, w zakładce "Konfiguracja" > "More Pics" > "Table Location". "Below" odpowiada za umieszczenie zdjęć pod opisem, "above" - nad opisem, a "sides" - sąsiadująco z opisem.
Oczywiście możesz modyfikować ich kod. Wystarczy, że zmodyfikujesz jeden ze sposobów wyświetlania, oto przykład:
1. if (MOPICS_TABLE_LOCATION=='above' && !empty($mopics_output)) 2. { 3. echo '<table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0""> 4. <tr> 5. <td align=""center"class="smallText"">'.$mopics_output.'</td> 6. </tr> 7. </table> 8. <br>'."n"; 9. }
Na koniec podmień plik catalog/popup_image. php, a do katalogu catalog/iamges wgraj dwa pliki graficzne: right.gif i left.gif. Pozwoli to na przechodzenie pomiędzy dodatkowymi zdjęciami po otwarciu okienka pop-up.
Powiązane publikacje
Komentarzy: 16
Próbuję zainstalować dodatek "Powiązania" o którym mowa http://internetmaker.pl/artykul/4362,2,osc..._sterydach.html .
Kiedy we wskazane miejsce wklejam kod:
Witam wszystkich. Rozpocząłem niedawno "robienie" sklepu OSC v2.2 rc2. Dziękuje twórcom strony za udostępnianie instrukcji jak konfigurować sklep.
Przeszkoda, na jaka natrafiłem w dalszej rozbudowie mojego sklepu pojawiła się przy zainstalowaniu Fancy Lightbox Popup. Zainstalowałem uprzednio wcześniej More Pics. Potrzebuję mieć 3-6 zdjęć produktu. Czy jest możliwość zmodyfikowania tego Lightboxa tak, żeby wyświetlał kilka zdjęć tak jak More Pics?
Poproszę o podpowiedź, w jakich plikach gdzie co na co zmienić.
Dodam jeszcze na koniec, że mam zamiar dodać następujące modyfikacje opisane w InternetMaker: Cechy, Pasek Promocji, Powiązania, Ulepszone menu - więc będę z czasem podpytywał o dalsze kroki rozbudowy.
Witam,
Swietny artykuł. Postępowałem krok po kroku i jest bardzo dobrze. Jeżeli jednak wcześniej modyfikowało się co kolwiek bez dokumentacji, można natrafić na problemy. Nie jest to jednak już wina modyfikacji wprowadzanych na podstawie tego artykułu.
Pozdrawiam.
Marek z Gdyni
może źle troszkę wytłumaczyłem. nowy plik general.php nie posiada wcześniej wymienonego pliku! wyskakuje mi błąd jak w general.php brakuje dokładnie tego fragmentu:
function tep_admin_check_login() {
global $PHP_SELF, $login_groups_id;
if (!tep_session_is_registered('login_id')) {
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
} else {
$filename = basename( $PHP_SELF );
if ($filename != FILENAME_DEFAULT && $filename != FILENAME_FORBIDEN && $filename != FILENAME_LOGOFF && $filename != FILENAME_ADMIN_ACCOUNT && $filename != FILENAME_POPUP_IMAGE && $filename != 'packingslip.php' && $filename != 'invoice.php') {
$db_file_query = tep_db_query("select admin_files_name from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_name = '" . $filename . "'");
if (!tep_db_num_rows($db_file_query)) {
tep_redirect(tep_href_link(FILENAME_FORBIDEN));
}
}
}
}
co mam zrobić???
witam jeszcze raz! znalazłem gdzie tkwi mój błąd ale nie umiem sobie z nim poradzić! błąd generuje się przez general.php
jak wgram nowy fragment to wyskakuje mi błąd opisywany wcześniej: może mi ktoś wytłumaczyć dlaczego???
bardzo prosze o pomoc i z góry za nią dziękuję!!!
NIE NAPISAŁEM WCZEŚNIEJ ŻE DZIAŁAM NA OSCOM 1.03 PROFESIONAL MOŻE TO JEST WINA???
function tep_admin_check_login() {
global $PHP_SELF, $login_groups_id;
if (!tep_session_is_registered('login_id')) {
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
} else {
$filename = basename( $PHP_SELF );
if ($filename != FILENAME_DEFAULT && $filename != FILENAME_FORBIDEN && $filename != FILENAME_LOGOFF && $filename != FILENAME_ADMIN_ACCOUNT && $filename != FILENAME_POPUP_IMAGE && $filename != 'packingslip.php' && $filename != 'invoice.php') {
$db_file_query = tep_db_query("select admin_files_name from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_name = '" . $filename . "'");
if (!tep_db_num_rows($db_file_query)) {
tep_redirect(tep_href_link(FILENAME_FORBIDEN));
}
}
}
}
function tep_admin_check_boxes($filename, $boxes='') {
global $login_groups_id;
$is_boxes = 1;
if ($boxes == 'sub_boxes') {
$is_boxes = 0;
}
$dbquery = tep_db_query("select admin_files_id from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '" . $is_boxes . "' and admin_files_name = '" . $filename . "'");
$return_value = false;
if (tep_db_num_rows($dbquery)) {
$return_value = true;
}
return $return_value;
}
function tep_admin_files_boxes($filename, $sub_box_name) {
global $login_groups_id;
$sub_boxes = '';
$dbquery = tep_db_query("select admin_files_name from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '0' and admin_files_name = '" . $filename . "'");
if (tep_db_num_rows($dbquery)) {
$sub_boxes = '<a href="' . tep_href_link($filename) . '" class="menuBoxContentLink">' . $sub_box_name . '</a><br>';
}
return $sub_boxes;
}
////
//Get selected file for http://forum.magazynyinternetowe.pl/index.php
function tep_selected_file($filename) {
global $login_groups_id;
$randomize = FILENAME_ADMIN_ACCOUNT;
$dbquery = tep_db_query("select admin_files_id as boxes_id from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '1' and admin_files_name = '" . $filename . "'");
if (tep_db_num_rows($dbquery)) {
$boxes_id = tep_db_fetch_array($dbquery);
$randomize_query = tep_db_query("select admin_files_name from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '0' and admin_files_to_boxes = '" . $boxes_id['boxes_id'] . "'");
if (tep_db_num_rows($randomize_query)) {
$file_selected = tep_db_fetch_array($randomize_query);
$randomize = $file_selected['admin_files_name'];
}
}
return $randomize;
}
patrząc na 212 linię w application_top.php to w niej jest
tep_admin_check_login();}
co to oznacza??
Witam teraz to mam większy problem wyskakuje mi coś takiego
Fatal error: Call to undefined function: tep_admin_check_login() in c:usrkrasnalwwwkopia (2) skleposcommerceprofessional_1_03catalogadminincludesapplication_top.php on line 212
co to może oznaczać????
bardzo proszę o pomoc
witam mam mały problem jeśli chodzi o moduł more pics zrobiłem jak w instrukcji i niby z wyglądu działa bo jest w kategoria more pics i można tam zmieniać ale nie mogę doddać zdjęć!!! według zdjęcia powinienem móc dodawać zdjęcia jak biorę dodaj nowy produkt i tam powinna być tak możliwość niestety u mnie nie ma!! proszę o pomoc co zrobiłem nie tak z góry dziękuję i pozdrawiam
Zrobiłem wszystko wg instrukcji dołączonej do modułu (v 1.0) jednak wynik jest taki że w panelu admina pojawił sięnowy moduł i działa bez problemu ale niestety coś skopałem (chyba?) podczas wstawiania boxu na stronę gdyż wyskakuje mi coś takiego
Proszę o pomoc, bardzo mi zależy na uruchomieniu tego modułu.
Z góry dziękuje
Mam kilka pytań dotyczących modułu Article Manager który w Waszą pomocą jakoś zainstalowałem ale niestety nie do końca poprawnie. Mianowicie
1 . Wstawiłem kod do plików filnames.php i databese_tables.php - tu wszystko jasne
2. To samo w katalogu admin/includes - nie ma problemu
3. Odpowiednie wpisy w plikach językowych includes/languages/polish.php - gdzie w kod to wstawić, obojętne czy jakieś konkretne miejsce?
4. Podobne wpisy należy zdefiniować w panelu administracyjnym, zatem należy dodać także kod - czyli rozumiem w pliku polish.php w katalogu admin/languages ?
5. Warto w tym miejscu zatrzymać się na chwilę i przypomnieć, że w panelu administracyjnym będziesz mógł tymi recenzjami zarządzać, a także tworzyć wspomniane już powiązania artykułów z artykułami lub artykułów z produktami. Do pełnego działania modułu musisz jeszcze wprowadzić modyfikacje w pliku includes/application_top.php, zarówno w katalogu catalog/includes jak i catalog/admin/includes.
Jakie modyfikacje ?????
6. Teraz przyszła pora na wstawienie modułu w odpowiednie miejsce. Zacznij od panelu administracyjnego i w pliku admin/includes/column_left. php znajdź kod
Mam mały problem!!!
Zainstalowałem całość i wszystko gra prócz jednego... w panelu admin>narzędzia>Define Ticker Content wyskakuje ze strona nie istnieje..????Prosze o pilną pomoc
oczywiście, że się da zrobić i wszystko działa, trzeba tylko przyłożyć się troszkę do tego i poświęcić czasu.
Witam serdecznie
Mam właśnie sklep oparty na tym skrypcie,i tu problem -(po przeczytaniu stwierdziłam ze mój sklep jest ubogi i powyższe moduły były by dla mnie przydatne)nie znam się na tym więc( nie nie chce sama eksperymentować)
sklep zainstalowała mi Firma- zwróciłam się do nich z prośbą o doinstalowanie powyższych modułów zwłaszcza opcji Article Manager -Firma twierdzi że nie da się tego zrobić-instalując -to w boksie tak jak pokazano na powyższych przykładach-tylko w boksie informacje.
Ponad to brakuje mi również dodatkowych zdjęć- nie mówiąc o pozostałych-stwierdzono że te moduły nie zawsze da się zainstalować z różnych powodów,ponoć to nie chodzi i tyle.Mam takie pytanie?czy faktycznie tak jest -czy firma chce mnie tylko pozbyć?
Każdy z nas potrzebuje mebli. Czy to do domu, biura czy do ogródka. Zaczyna się przecież robić ciepło i zielono, a podczas smażenia kiełbasek, trzeba na czymś siedzieć.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: