Офис НП AMWAY в Ярославле
Купить продукцию Амвей в Ярославле
На карте Купить AMWAY в ЯрославлеПриобрести высококачественную продукцию Амвей в Ярославле, получить консультации по бизнесу, заказать продукцию или получить заказ:
Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
Телефон: +7 (920) 112-00-91
Email: matyxho@mail.ru
Сайт: https://www.amway.ru/user/lebedem
Визитка: http://yar.meweb.ru
Просмотр темы
MeWEB: Учимся строить сайты » Программирование » PHP, MySQL
 Распечатать тему
Небольшие вопросы по скриптам магазина и каталога SkyMag && SkyCat
Pisatel
Набросал небольшой пример (рабочий, но без php)
Например, у нас адрес http://нашсайт.ру/skycat.php?mod=cat&cat_id=5&tov_id=6, а мы хотим, чтобы эта же страница была доступна по адресу http://нашсайт.ру/cat_5-tov_6, для этого в .htaccess надо будет добавить следующее
Скачать код  Код: APACHE
RewriteEngine on
RewriteBase /
RewriteRule ^cat_([0-9]+)-tov_([0-9]+) skycat\.php\?mod=cat\&cat_id=$1\&tov_id=$2 [L]



Повторюсь, чтобы полностью переделать все ссылки, нужно будет править php страниц вручную, либо, чтобы динамические адреса сервер отдавал уже измененными, можно воспользоваться функцией ob_get_contents(), заменять все адреса "налету".


Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
x1
 
http://www.meweb.ru
chilim
Спасибо огромное за оперативный ответ, удачи во всех начинаниях

 
http://dimkaiff.ru
chilim
Цитата [ Отметить все ]
chilim написал:

Спасибо огромное за оперативный ответ, удачи во всех начинаниях

Вопрос решил переименованием папки, а потом при помощи Total Commander, нашел все skycat.php и заменил на своё, пока вроде полет нормальный.
Результат можно глянуть тут, если ссылки нельзя оставлять удали пожалуйста, только не бань))))
http://andian.ru
А с файлом .htaccess, не прокатило, может потому что у меня на хостинге он один, для нескольких моих сайтов.

 
http://dimkaiff.ru
Pisatel
Как так один? Он должен лежать в корне сайта. Все работает, пример http://yaroffice....at_9-tov_6
В принципе, можно сделать чпу для каталога, но вот только скрипт автор не поддерживает, не настолько он популярен


Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
chilim
Как-то так, кидаю скрины из TC, http://dimkaiff.ru/111.jpg - скрин с самого корня

http://dimkaiff.ru/112.jpg - скрин общий с хостинга.
Вот как-то так


Изменил(а) Pisatel, 14 августа 2014 09:24:51
 
http://dimkaiff.ru
Pisatel
.htaccess должен лежать в папке /andian, то есть в корне самого скрипта, тогда все будет работать. Просто создай его там, и вставь то, что я давал.


Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
karas33
День добрый. Есть необходимость оставлять имена загружаемых картинок для товаров без изменения (скрипт переименовывает в формат "1404497083.jpg" или для превьюшек "sm_1404497083.jpg"). Где и что править, если кто сталкивался с этим. Спасибо.

 
Pisatel
Файл adm.php, $filename = $vrem.".".$rash; За имя файла отвечает переменная $vrem, то есть это банально время добавления файла. Если мы будем оставлять имя файла оригинальным, может возникнуть ошибка, если будет два файла с одинаковым именем. Можно, например, попробовать заменить на такое $filename = $_FILES['file']['name']."_".$vrem.".".$rash;, тогда получим что-то типа imya_1234567890.jpg, что исключит ошибку. Однако, файлы с именами кириллицей перед этим нужно будет тогда прогнать через функцию транслита. Как это реализовать: в файл db.php добавляем новую функцию, например такую
Скачать код  Код: PHP
  function rustranslate($text)
{
$text = strtolower($text);
$special = array(
'"','&','&','?','!','.',',',':',';','*','(',')','{','}','[',']','%','#','№','@','$','^','-','+','/','\\','=','|','"','\'',
'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я',
'а','б','в','г','д','е','ё','з','и','й','к',
'л','м','н','о','п','р','с','т','у','ф','х',
'ъ','ы','э',' ','ж','ц','ч','ш','щ','ь','ю','я');
$normal = array('','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_',
'a','b','v','g','d','e','e','zh','z','i','y','k','l','m','n','o','p','r','s','t','u','f','h','ts','ch','sh','shch','j','i','','e','yu','ya',
'a','b','v','g','d','e','e','z','i','y','k',
'l','m','n','o','p','r','s','t','u','f','h',
'j','i','e','_','zh','ts','ch','sh','shch',
'','yu','ya');
$text = str_replace($special, $normal, $text);
return preg_replace(array('/[^a-zA-Z0-9 -]/', '/[ -]+/', '/^-|-$/'), array('', '-', ''), $text);
}



Ну а далее в файле adm.php заменяем это $filename = $vrem.".".$rash; на это $filename = rustranslate($_FILES['file']['name'])."_".$vrem.".".$rash;
Не проверял, но должно сработать.


Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
x1 x1 x1
 
http://www.meweb.ru
karas33
Спасибо за оперативность! Названия картинок изначально будут в транслите. Многие названия дублируют латинские наименования цветов и растений. По опыту могу сказать, что гугл их отлично индексирует по названиям и это дает огромный плюс к продвижению сайта. Теперь по существу:
Цитата [ Отметить все ]
Можно, например, попробовать заменить на такое $filename = $_FILES['file']['name']."_".$vrem.".".$rash;,
- выдало ошибку о "двух точках в имени файла". В конечном итоге "методом тыка" была оставлена банальная конструкция, повторяющая имя файла $filename = $_FILES['file']['name'];. Пока все работает. Вопрос возможности повторений имен актуален. Вероятно придется вводить проверку (но как это сделать - пока не знаю). С транслитом через функцию буду пробовать сейчас. Что получится - напишу. Спасибо

 
Pisatel
Попробуй это $filename = $vrem.".".$rash; заменить на
Скачать код  Код: PHP
$filename = preg_replace("/(.*?)\.(.*?)/si", ".rustranslate(trim('\$1'))."_".$vrem.".".$rash.", $filename);



Должно сработать. Обновил пост.


Изменил(а) Pisatel, 13 августа 2014 17:03:23
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
x1
 
http://www.meweb.ru
chilim
Пожалуйста подскажи мне неумному, как конкретно сделать описание в категориях, чтобы можно было к каждой странице добавить некий текст, я вообще в php не шарю, в категориях выводится только галерея товаров, а это очень напрягает.

x1
 
http://dimkaiff.ru
chilim
Я тут еще искал как отменить привязку к цифрам в цене, еле разобрался, а на это у меня уже мозгов не хватает, а изучать php у меня времени особо нет.

x1
 
http://dimkaiff.ru
Pisatel
Честно говоря, немного не понял вопрос. Давайте более подробно.


Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
chilim
сайт тот же andian ru, слева есть меню, там ссылка "Столешницы", когда открываешь выводится галерея. Мне нужно вставить некий текст на эту страницу, тоесть описать эту категорию.

 
http://dimkaiff.ru
Pisatel
Для этого нужно будет: добавить в админке страницу для ввода описания категории, добавить в таблицу бд поле для описания, ну а на самой странице сделать вывод. Я сейчас не занимаюсь этим скриптом, могу лишь подсказать, но не сделать всю работу за Вас.


Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
Pisatel
Ответ пользователю Серега:
Вообще, за удаление файлов отвечает это
Скачать код  Код: PHP
  if (is_file("pic/tov/$tov_foto")) unlink ("pic/tov/$tov_foto");
if (is_file("pic/tov/sm_$tov_foto")) unlink ("pic/tov/sm_$tov_foto");



Соответственно, переменная $tov_foto это название фото из базы.


Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
maksimilyan
Добрый день. Помогите с выводом товара на страницу.
Я хочу, чтобы данные были в один ряд. Делал пол дня вышло на половину. Вот что вышло у меня.
s011.radikal.ru/i316/1410/51/b6ae97bd30d7.jpg

Код:

Скачать код  Код: PHP
<!-- Рабочий блок -->    
<?
if (!isset($cat_id) && !isset($mod_id) && !isset($mod) && !isset($act)) { $mod_id = 1; }
if (isset($mod_id))
{
$skybasemodpr = mysql_query("SELECT `mod_nazv`,`mod_text` FROM `skymod` WHERE `mod_id`='{$mod_id}' LIMIT 1",$db) or die(mysql_error());
$skyrowmodpr = mysql_fetch_array($skybasemodpr);
echo '<div class="zag2" style="margin:0 0 5px 0;">'.$skyrowmodpr['mod_nazv'].'</div>';
echo $skyrowmodpr['mod_text'];

//вывод товаров на 1 страницу
if ($mod_id==1){
$skybasetov = mysql_query("SELECT * FROM `skycat_tov` WHERE `tov_perv`='1' ORDER BY `tov_id` DESC",$db) or die(mysql_error());
if (mysql_num_rows($skybasetov) > 0)
{
$skyrowtov = mysql_fetch_array($skybasetov);
$gor=0;
echo '<table cellspacing="0" cellpadding="0" style="margin:0 0 15px 0; border:1px solid #f2f2f2; border-radius: 4px;"><tr>';
do {
if ($gor >= 1) { echo "<tr>"; }
if ($cv == 1) { $bgzapis = "#ffffff"; $cv=0; } else { $bgzapis = "#f5f5f5"; $cv++; }
if (!empty($skyrowtov['tov_foto'])) {
$img = '<a href="skycat.php?mod=cat&cat_id='.$skyrowtov['tov_cat'].'&tov_id='.$skyrowtov['tov_id'].'"><img align="center" style="margin:10px 0 10px 0;" src="pic/tov/sm_'.$skyrowtov['tov_foto'].'" border="0" /><br /></a>'; }
else { $img="<br /><br /><br /><br />"; }
if (!empty($skyrowtov['tov_starcena'])) {
$tov_starcena = '<td><p><s>Старая цена: </td>'.$skyrowtov['tov_starcena'].' '.$cat_val.'</s></p>'; }
else { $tov_starcena=""; }
if (!empty($skyrowtov['tov_cena'])) {
$tov_cena = '<td><p class="zag2" style="margin:0 0 0 0;">Цена: '.$skyrowtov['tov_cena'].' '.$cat_val.'</p> <div></td><td><a title="Добавить в корзину" id="'.$skyrowtov['tov_id'].'-'.$skyrowtov['tov_cena'].'" href="#" class="dobKorz"><img src="pic/korzinadob.png" /></td></a></div>'; }
else { $tov_cena=""; }
$tov_nazv = $skyrowtov['tov_nazv'] ;
if (strlen($tov_nazv) > 40) { $tov_nazv = substr("$tov_nazv", 0, 40); $tov_nazv = $tov_nazv."..."; }
echo '<td>';
echo'<table class="tbl" width="800" height="110" bgcolor="'.$bgzapis.'" style="position:relative; margin:5px 7px 5px 7px; padding:0;" cellpadding="0" cellspacing="0"><tr><td valign="top" align="center" style="margin:0; padding:0;">'.$img.'<p style="word-wrap: break-word; margin:0; padding:0;"><a href="skycat.php?mod=cat&cat_id='.$cat_id.'&tov_id='.$skyrowtov['tov_id'].'"><span class="ch">'.$tov_nazv.'</span></a></p><p>'.$tov_starcena.'</p>
'.$tov_cena.'</td></tr></table>';
echo '</td>';
$gor++;
if ($gor >= 3) { echo '</tr>'; $gor = 0; }
}
while($skyrowtov = mysql_fetch_array($skybasetov));
echo '</tr></table>';
}
}
}




Изменил(а) Pisatel, 05 октября 2014 20:38:00
 
maksimilyan
Еще вопрос последний. Может знаете как сделать чтобы навигационное меню было тоже горизонтальное и при на вождении выезжал список. буду очень признателен, а то уже за эсперементировался

 
Pisatel
1. Можно все разместить в див'ах, аналогичных таблице. Пример
Скачать код  Код: HTML
<style>
.table {
display: table;
width: 100%;
}
.row {
display: row;
}
.cell {
display: table-cell;
}
</style>
<div class="table">
<div class="row">
<div class="cell" style="width:20%">Здесь название</div>
<div class="cell" style="width:20%">Здесь изображение</div>
<div class="cell" style="width:60%">Здесь описание и остальное</div>
</div>
</div>



Надеюсь, ход мысли понятен.
2. Есть куча плагинов в сети с выпадающим меню, даже здесь наверху такой стоит :


Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
maksimilyan
По поводу выпадающего меню я много находил, но они все написаны на div +css, но я не знаю как их подключить к БД и админки, вот в этом беда(

Чтобы не напрягать Вас помогите мне пожалуйста с (05 октября 2014 14:03:26) этой проблемой. Я просто не могу понять как воссоединить фото и название в одну строку.
Что касается меню я может посижу еще подумаю

 
Поделиться:   
Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Вопросы по Ajax форме обратной связи  →  CMS PHP Fusion 48 / 71827 19 февраля 2017 23:38:28
Вопросы по счетчику Power Counter  →  CMS PHP Fusion 19 / 16710 19 января 2015 09:42:03
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Вопрос по переделке bb-кода
PHP, MySQL
22837 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
71827 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
15715 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
18391 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
150119 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
14884 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
23185 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
26985 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
7828 0 Pisatel
15. июня 2015
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
38090 32 Pisatel
26. апреля 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
12018 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
31455 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
133308 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
8996 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
23507 13 Pisatel
03. апреля 2015