Офис НП AMWAY в Ярославле
Купить продукцию Амвей в Ярославле, офис 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
Так как на сайте разработчика данных скриптов невозможно добавлять код, буду отвечать на некоторые вопросы (на которые знаю ответ) здесь. Итак, начнем.
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
Pisatel
Лукас, могу вам примерное ТЗ написать. Предположим, языковая папка у нас называется /locale. А в ней подкаталоги
/Russian
/English
/Ukrainian
, в которых лежат языковые файлы. Обычная форма с выбором input/select, в которой пользователь выбирает язык и идентификатор этого языка пишем ему в куки. Ну и сам вывод будет выглядеть примерно так: зададим константу LOCALE, в которую надо будет поместить путь до папки locale, то есть так:
Скачать код  Код: PHP
define("LOCALE", "/locale/");



далее константа, например, LOCALESET- идентификатор языка, например,
Скачать код  Код: PHP
define("LOCALESET", $_COOKIES['lang']."/");



Идентификатор должен совпадать с названием языковой папки. Ну и само подключение у нас будет выглядеть так:
Скачать код  Код: PHP
require_once LOCALE.LOCALESET.'/skylang.php;



Как-то так:-)
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
Pisatel
Плизка, либо при самом выводе вы указываете ширину изображения, то есть в файле skycat.php ищете вывод превью и ставите ему ширину, примерно так
Скачать код  Код: HTML
<img style="width:100px;" src="pic/tov/sm_'.$pic.'/>



Но лучше будет сразу при загрузке менять размер превью, то есть сейчас у нас размер превью по умолчанию 140х140 пикселей. Если нам нужно, например, 100 пикселей, берем файл adm.php, находим там такую запись
Скачать код  Код: PHP
if ($mod=='cat'){
$maxgor=700;
$maxver=600;
$sm_maxgor=140;
$sm_maxver=140;
}



Соответственно, меняем 140 на необходимые нам 100. Это ширина и высота.
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
Pisatel
Лукас, нашел для вас еще одно решение. Принцип почти тот же, что я описал, только есть пример и полный код реализации: Тынц!
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
Pisatel
Последние просмотренные товары для каталога (пойдет и под магазин, только изменить названия переменных). Запись идет в сессию, время жизни небольшое. В архиве- код вставляем под выводом товара крупно, и стиль.
Pisatel присоединено следующее:файл:
Вы не можете видеть вложения в этой теме.

Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
Pisatel
Вывод description и keywords для товара и новостей (если новостей нет, ничего страшного)
Для начала в файле db.php добавляем функцию
Скачать код  Код: PHP
function trimlink($text, $length) {
$dec = array("&", "\"", "'", "\\", '\"', "\'", "<", ">");
$enc = array("&amp;", "&quot;", "&#39;", "&#92;", "&quot;", "&#39;", "&lt;", "&gt;");
$text = str_replace($enc, $dec, $text);
if (strlen($text) > $length) $text = substr($text, 0, ($length-3))."...";
$text = str_replace($dec, $enc, $text);
return $text;
}




Далее, желательно создать отдельный файл, назовите его как хотите, например desc_key.php, с содержимым
Скачать код  Код: PHP
<?php

//description & keywords товара
if (isset($tov_id))
{
$skybasetovdesc = mysql_query("SELECT `tov_nazv`, `tov_opis` FROM `skycat_tov` WHERE `tov_id`='{$tov_id}' LIMIT 1",$db) or die(mysql_error());
$skyrowtovdesc = mysql_fetch_array($skybasetovdesc);

$description = strip_tags(html_entity_decode(stripslashes($skyrowtovdesc['tov_opis'])));
$description = str_replace(array("\r\n", "\r", "\n"), " ", $description);
$description = trim(preg_replace("/\s+/", " ", $description));
$description = trimlink($description, 160);

$keywords = preg_replace("/\s[^\b]{1,2}\s/", " ", strip_tags(html_entity_decode(stripslashes($skyrowtovdesc['tov_nazv']))));
} elseif (isset($news_id)){

$skybasenewsdesc = mysql_query("SELECT `news_nazv`, `news_text` FROM `skynews_news` WHERE `news_id`='{$news_id}' LIMIT 1",$db) or die(mysql_error());
$skyrownewsdesc = mysql_fetch_array($skybasenewsdesc);

$description = strip_tags(html_entity_decode(stripslashes($skyrownewsdesc['news_text'])));
$description = str_replace(array("\r\n", "\r", "\n"), " ", $description);
$description = trim(preg_replace("/\s+/", " ", $description));
$description = trimlink($description, 160);

$keywords = preg_replace("/\s[^\b]{1,2}\s/", " ", strip_tags(html_entity_decode(stripslashes($skyrownewsdesc['news_nazv']))));
} else {
$description = "Каталог продукции ".$nazv_cat." &raquo; ".$titl." &raquo; Здесь стандартное описание для остальных страниц";
$keywords = "здесь стандартные ключевые слова для остальных разделов через пробел";
}
?>



Ну и далее- сам вывод
Скачать код  Код: PHP
  require_once "desc_key.php";
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>';
if (isset($titl) && !empty($titl)){
echo ''.$titl.' &raquo; '; }
echo 'Каталог продукции '.$nazv_cat.'</title>
<meta name="keywords" content= "'.$keywords.'"/>
<meta name="description" content= "'.$description.'"/>';



Будут вопросы- отвечу здесь.
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
Pisatel
Простая карта сайта (sitemap.xml)
Создаем в корне файл sitemap.php со следующим содержимым:
Скачать код  Код: PHP
<?php

require_once "db.php";

define("BASEDIR", "http://".$_SERVER['HTTP_HOST']."/");

header ("Content-type: application/xml");

echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n";
echo " <urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";



//товары
$result = mysql_query("SELECT tov_id, tov_cat, cat_id FROM skycat_tov, skycat_cat ORDER BY cat_id DESC",$db)
or die(mysql_error());

$rows = mysql_num_rows($result);
if ($rows!=0) {
while ($data = mysql_fetch_array($result)) {
if($data['cat_id'] == $data['tov_cat']) {
echo "\t<url>\n";
echo "\t\t<loc>" .BASEDIR."skycat.php?mod=cat&amp;cat_id=".$data['cat_id']."&amp;tov_id=".$data['tov_id']. "</loc>\n";
$date = date("Y-m-d");
echo "\t\t<lastmod>".$date."</lastmod>\n";
echo "\t\t<changefreq>daily</changefreq>\n";
echo "\t\t<priority>1.0</priority>\n";
echo "\t</url>\r\n";
}
}
}

//каталоги, товары в каталоге

$result = mysql_query("SELECT cat_id FROM skycat_cat ORDER BY cat_id DESC",$db)
or die(mysql_error());

$rows = mysql_num_rows($result);
if ($rows!=0) {
while ($data = mysql_fetch_array($result)) {

echo "\t<url>\n";
echo "\t\t<loc>" .BASEDIR."skycat.php?act=cat&amp;cat_id=".$data['cat_id']."</loc>\n";
$date = date("Y-m-d");
echo "\t\t<lastmod>".$date."</lastmod>\n";
echo "\t\t<changefreq>daily</changefreq>\n";
echo "\t\t<priority>0.9</priority>\n";
echo "\t</url>\r\n";

}
}
//разделы


$result = mysql_query("SELECT mod_id FROM skymod ORDER BY mod_id DESC",$db)
or die(mysql_error());
$rows = mysql_num_rows($result);
if ($rows!=0) {
while ($data = mysql_fetch_array($result)) {
echo "\t<url>\n";
echo "\t\t<loc>" .BASEDIR."skycat.php?mod_id=".$data['mod_id']."</loc>\n";
$date = date("Y-m-d");
echo "\t\t<lastmod>".$date."</lastmod>\n";
echo "\t\t<changefreq>daily</changefreq>\n";
echo "\t\t<priority>0.7</priority>\n";
echo "\t</url>\r\n";

}
}


//RSSлента(если нужна)

echo "\t<url>\n";
echo "\t\t<loc>" .BASEDIR."skycat.xml</loc>\n";
$date = date("Y-m-d");
echo "\t\t<lastmod>".$date."</lastmod>\n";
echo "\t\t<changefreq>daily</changefreq>\n";
echo "\t\t<priority>0.7</priority>\n";
echo "\t</url>\r\n";


echo "</urlset>\n";
?>



Далее, в файл .htaccess добавляем следующие строки
Скачать код  Код: TEXT
RewriteEngine on
RewriteRule ^sitemap.xml$ sitemap.php [L]




Все, наша карта сайта готова.
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
yug
Здравствуйте! Не подскажите, можно ли сделать описание к категориям товара?
 
Pisatel
Здравствуйте. Думаю, можно, по тому же принципу. Загвоздка лишь в том, что у нас, если не ошибаюсь, есть только название каталогов, но изначально нет их описаний. У меня сейчас нет возможности проверить, но попробуйте следующее
Скачать код  Код: PHP
    elseif (isset($cat_id)){
$cat_idput = $cat_id;
for ($i = 0; ; $i++)
{
$skybasedescput = mysql_query("SELECT `cat_id`,`cat_name`,`cat_papa` FROM `skycat_cat` WHERE `cat_id`='{$cat_idput}'",$db)
or die(mysql_error());
$skyrowdescput = mysql_fetch_array($skybasedescput);
$catdescput = $skyrowdescput['cat_name']."&raquo;".$catdescput;
if ($skyrowdescput['cat_papa']==0) { break;}
$cat_idput = $skyrowdescput['cat_papa'];
}

$catdescput = $cat_name."&raquo;".$catdescput;
$description = strip_tags(html_entity_decode(stripslashes($catdescput)));
$description = str_replace(array("\r\n", "\r", "\n"), " ", $description);
$description = trim(preg_replace("/\s+/", " ", $description));
$description = trimlink($description, 160);

$keywords = preg_replace("/\s[^\b]{1,2}\s/", " ", strip_tags(html_entity_decode(stripslashes($catdescput))));
}



Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
yug
Спасибо, попробую и отпишусь, как сделаю.
да, ещё по теме:
1. при запросе sitemap.xml выдаёт - Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\skymag.ru\www\sitemap.php:1) in Z:\home\skymag.ru\www\db.php on line 1
2. Вывод description и keywords получился только когда код не в отдельном файле desc_key.php, а внутри skycat.php
А, вообще, большое спасибо за помошьВоздушный поцелуй
 
Pisatel
yug,
1. Не понял, что за ошибка. Все работало, сессии для карты не нужны.
2. У меня этот каталог был переписан: был отдельно header, в котором шли все подключения и шапка сайта, отдельно левая панель, отдельно основной контент и отдельно footer.
А фишка вот в чем: чем меньше файл, чем меньше кода- тем меньше уходит времени на обработку интерпретатором кода, следовательно- меньше нагрузка на сервер, выше скорость генерации, выше производительность.
Попробуйте вставить этот код в основной файл, до вывода титл и дескрипшн.
ОбращайтесьОчень смешно Помогу, чем смогу.
Изменил(а) Pisatel, 12 сентября 2013 16:04:05
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
yug
/* Попробуйте вставить этот код в основной файл, до вывода титл и дескрипшн. */
да, я так и сделал...
 
dmtrey2
Здравствуйте, вопрос по skymag. Подскажите,как можно прикрутить в форму оформления заказа доставку с помощью списка или радиокнопок (в идеале сумма доставку плюсовалась к стоимости товара в строке "Всего"). Спасибо.
 
Pisatel
dmtrey2, признаться честно, со skymag я знаком лишь бегло, раньше я работал со skycat. В принципе, прикурутить можно что угодно и куда угодно, лишь бы знать, куда и что (сорри за туфтологию). Я к тому, что даже не представляю, как устроена эта форма заказа в skymag, какие кнопки вы хотите добавить...
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
dmtrey2
Спасибо за отклик, роблема в том, что запись в таблице сохраняется до тех пор пока заказ не отправлен на почту, после чего ни в бд ни в письме записей о доставке нет
 
dmtrey2
Спасибо за отклик, роблема в том, что запись в таблице сохраняется до тех пор пока заказ не отправлен на почту, после чего ни в бд ни в письме записей о доставке нет http://tpkspb.ru/g-form/skymag/skycat.php?mod=ofzak
 
Pisatel
dmtrey2, если я правильно понял код, то: сначала заказ хранится в cookie, после отправки печеньки убиваются и запись идет в бд
Скачать код  Код: PHP
	$zakazano = $_COOKIE["korzina"];
$skydob = mysql_query ("INSERT INTO `skymag_zak` (`zak_ot`,`zak_tov`,`zak_data`,`zak_prim`)
VALUES ('{$user_id}','{$zakazano}','{$vrem}','{$zak_prim}')",$db) or die(mysql_error());
setcookie('korzina', '', 0, "/");




Конкретнее опишите проблему: после отправки КЕМ письма удаляется запись: вами, зарегистрированным или нет пользователем?
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
dmtrey2
Добрый день!Запись удаляется не зависимо от того кто отравляет заказ. Дело в том, что я добавил копию строки user_obl в таблице skyusers, переименовав её в user_dostavka. Во вкладке "Личная информация" в поле "Доставка" пишу "Курьером" , запись в таблице появляется, но во время оформления заказа и отправки на почту все поля сохраняются, кроме доставки, ни в письме ни в таблице её нет. Ещё раз спасибо!
 
Pisatel
Файл d.php, ищем добавление и обновление информации, добавляем запись в новое поле (я назвал переменную, в которой хранится информация, $user_dostavka, не знаю, как она называется у вас)
Скачать код  Код: PHP
			$skybase = mysql_query("UPDATE `skyusers` SET `user_tel`='{$user_tel}',`user_fax`='{$user_fax}',`user_gorod`='{$user_gorod}',`user_obl`='{$user_obl}', `user_dostavka`='{$user_dostavka}' WHERE `user_email`='{$user_email}'",$db) or die(mysql_error());
$user_id = $skyrowuser['user_id'];
}
else{
$user_ip = $_SERVER['REMOTE_ADDR'];
$skydob = mysql_query ("INSERT INTO `skyusers` (`user_email`,`user_login`,`user_tel`,`user_fax`,`user_gorod`,`user_obl`,`user_vizit`,`user_prava`,`user_ip`, `user_dostavka`)
VALUES ('{$user_email}','{$user_login}','{$user_tel}','{$user_fax}','{$user_gorod}','{$user_obl}','{$vrem}','0','{$user_ip}','{$user_dostavka}')",$db) or die(mysql_error());




В этом же файле
Скачать код  Код: PHP
	$skybase = mysql_query("UPDATE `skyusers` 
SET `user_tel`='{$user_tel}',`user_fax`='{$user_fax}',`user_gorod`='{$user_gorod}',`user_obl`='{$user_obl}', `user_dostavka`='{$user_dostavka}'
WHERE `user_id`='{$_SESSION['ses_user']}'",$db) or die(mysql_error());




То есть, у нас теперь есть новое поле, которое нужно заполнять и обновлять везде. Посмотрите в этом направлении.
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
 
http://www.meweb.ru
dmtrey2
Спасибо,дружище,за помощь. Точно такие же изменения в d.php уже сделаны, проблема осталась. Может завести отдельную таблицу "доставка", только я в этих делах слабо шарю, буду признателен за помощъ
 
Поделиться:   
Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Вопросы по Ajax форме обратной связи  →  CMS PHP Fusion 48 / 12878 19 февраля 2017 23:38:28
Вопросы по счетчику Power Counter  →  CMS PHP Fusion 19 / 7345 19 января 2015 09:42:03
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
12614 33 promask
27. апреля 2019
folder Вопрос по переделке bb-кода
PHP, MySQL
3159 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
12878 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
7536 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
6711 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
51237 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
3903 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
7880 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
8816 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
2913 0 Pisatel
15. июня 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
5463 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
7412 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
39608 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
3596 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
13373 13 Pisatel
03. апреля 2015