Форум -> PHP, JS, MySQL -> Asers_Shop - thumbs? | Asers_Shop - thumbs? |
---|
makarovgosha | Дата: 31.05.2008, в 17:58 | Сообщение №1 | УчастникПользователь №: 333 Сообщений: 56
| В общем так. Я не прошу уже, чтобы скрипт создавал тумб вручную. Дана папка - productimages, где лежат картинки к продуктам.
Я создал в этой папке папку thumbs, в которую вручную буду класть уменьшенные копии картинок. Вопрос вот в чем: Допустим, имя рисунка 123.jpg, с разрешением 500x500. Лежит он естественно в productimages. Скрипт отлично его видит и отображает в маленьком виде (но всё равно 500x500 он!) рядом с описанием товара. Так вот, должно быть так: если я потом кладу в папку productimages/thumbs/ этот же 123.jpg, но уже с маленьким разрешением (ну типа 200x200), скрипт сам должен на него переключиться и отображать уже его, однако ссылаться картинка должна по прежнему на большую версию.
Ниже прилагаю функцию, где мне необходимо произвести редактирование... Как я понял, нужно делать через if-else, но как не старался, у меня не выходило сделать так, как нужно...
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| <?php function productlist($result, $cat) { global $db, $admin, $pagetitle, $defis, $module_name, $product_image_path, $product_image_size_w, $currency, $show_products_opt, $mainvotedecimal, $bgcolor2; $pagetitle = "$defis $title $defis"; while(list($lid, $cid, $title, $image, $shortdescription, $time, $price, $featured, $hits, $buyratingsummary, $totalvotes, $totalcomments)=$db->sql_fetchrow($result)) { $lid = intval($lid); $cid = intval($cid); $hits = intval($hits); $totalvotes = intval($totalvotes); $totalcomments = intval($totalcomments); $buyratingsummary = number_format($buyratingsummary, $mainvotedecimal); $title = stripslashes($title); $shortdescription = stripslashes($shortdescription); if ($featured == 1) echo "<tr bgcolor = \"$bgcolor2\">"; else echo "<tr>"; echo "<td width=\"$product_image_size_w\" align=\"center\">"; $image_path = "$product_image_path/$image"; if ($image != "" && file_exists($image_path)) { $size = imageresize($image_path, "prod"); echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"javascripts/CaricaFoto.js\"></script><a href=\"javascript:CaricaFoto('$image_path')\"><img border=\"1\" src=\"$image_path\" alt=\"$title\" $size></a>"; } else { echo "<font class=\"content\"><b>"._NOIMAGE."</b></font>"; } echo " echo "<a href=\"index.php?name=$module_name&s_op=getit&lid=$lid\"><img src = \"modules/$module_name/images/add_to_cart.gif\" border =\"0\"></a>"; if($show_products_opt == 0) echo "<b><a href=\"index.php?name=$module_name&s_op=getit&lid=$lid\"><img src = \"modules/$module_name/images/add_to_cart.gif\" border =\"0\"></a></b> echo "</td><td>"; if (is_admin($admin)) { echo "<a href=\"admin.php?op=AsershopModProduct&lid=$lid\"><img src=\"modules/$module_name/images/lwin.gif\" border=\"0\" alt=\""._EDIT."\"></a> "; } echo "<b><a href=\"index.php?name=$module_name&s_op=viewproductdetails&lid=$lid&cid=$cid\">$title</a></b>"; newproductgraphic($datetime, $time); popgraphic($hits); if ($cat == 1) { echo " $sql2 = "SELECT title FROM asershop_categories WHERE cid='$cid'"; $result2 = $db->sql_query($sql2); $row2 = $db->sql_fetchrow($result2); $ctitle = $row2['title']; $ctitle = getparent($cid,""); echo ""._CATEGORY.": <a href=\"index.php?name=$module_name&s_op=viewproduct&cid=$cid\">$ctitle</a>"; } echo " setlocale (LC_TIME, $locale); ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $time, $datetime); $datetime = strftime(""._PRODUCTDATESTRING."", mktime($datetime[4],$datetime[5],$datetime[6],$datetime[2],$datetime[3],$datetime[1])); $datetime = ucfirst($datetime); echo "<b>"._ADDEDON.":</b> $datetime <b>"._BUYS_RUS.":</b> $hits"; /* voting & comments stats */ if ($totalvotes == 1) { $votestring = _VOTE; } else { $votestring = _VOTES; } if ($buyratingsummary!="0" || $buyratingsummary!="0.0") { echo " <b>"._RATING.":</b> $buyratingsummary ($totalvotes $votestring)"; } echo " echo " | <a href=\"index.php?name=$module_name&s_op=viewproductdetails&lid=$lid&cid=$cid\">"._DETAILS."</a>"; if ($totalcomments != 0) { echo " | <a href=\"index.php?name=$module_name&s_op=viewproductcomments&lid=$lid&cid=$cid\">"._SCOMMENTS." ($totalcomments)</a>"; } echo " } } ?> |
|
| | SHAKA1 | Дата: 31.05.2008, в 18:25 | Сообщение №2 | УчастникПользователь №: 323 Сообщений: 77
| Ну а если попробывать так:
находим
PHP - Код | 1 2 3 4 5 6 7
| <?php echo "<td width=\"$product_image_size_w\" align=\"center\">";
$image_path = "$product_image_path/$image";
if ($image != "" && file_exists($image_path)) { ?> |
заменяем на
PHP - Код | 1 2 3 4 5 6 7 8
| <?php echo "<td width=\"$product_image_size_w\" align=\"center\">";
if ($image && file_exists(''.$product_image_path.'/thums/'.$image.'')) $image_path = ''.$product_image_path.'/thums/'.$image.''; else $image_path = "$product_image_path/$image";
if ($image != "" && file_exists($image_path)) { ?> |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно SHAKA1 31.05.2008 г. в 18:26:37 |
| | makarovgosha | Дата: 31.05.2008, в 18:34 | Сообщение №3 | УчастникПользователь №: 333 Сообщений: 56
| Спасибо.
Почти получилось, но, если тумб положить в productimages/thumbs, ссылка начинает ссылаться на него заодно))) А это не нужно, ссылка должна работать по прежнему на большУю версию картинки..
ps - в Вашем коде очепятка - thums вместо thumbs написано, но я у себя поправил.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно makarovgosha 31.05.2008 г. в 18:36:11 |
| | makarovgosha | Дата: 31.05.2008, в 18:44 | Сообщение №4 | УчастникПользователь №: 333 Сообщений: 56
| Да! Сам разобрался!
Заменил
PHP - Код | 1 2 3
| <?php echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"javascripts/CaricaFoto.js\"></script><a href=\"javascript:CaricaFoto('$image_path')\"><img border=\"1\" src=\"$image_path\" alt=\"$title\" $size></a>"; ?> |
на
PHP - Код | 1 2 3
| <?php echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"javascripts/CaricaFoto.js\"></script><a href=\"javascript:CaricaFoto('$product_image_path/$image')\"><img border=\"1\" src=\"$image_path\" alt=\"$title\" $size></a>"; ?> |
|
| | SHAKA1 | Дата: 31.05.2008, в 18:53 | Сообщение №5 | УчастникПользователь №: 323 Сообщений: 77
| Упс, недочитал до конца первый пост... на всякий случай:
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11
| <?php echo "<td width=\"$product_image_size_w\" align=\"center\">";
$image_path = "$product_image_path/$image";
if ($image != "" && file_exists($image_path)) {
$size = imageresize($image_path, "prod");
echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"javascripts/CaricaFoto.js\"></script><a href=\"javascript:CaricaFoto('$image_path')\"><img border=\"1\" src=\"$image_path\" alt=\"$title\" $size></a>"; ?> |
заменить на:
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?php echo "<td width=\"$product_image_size_w\" align=\"center\">";
$image_path = "$product_image_path/$image";
if (file_exists(''.$product_image_path.'/thumbs/'.$image.'')) $image_path2 = ''.$product_image_path.'/thumbs/'.$image.'';
else $image_path2 = $image_path;
if ($image != "" && file_exists($image_path) && file_exists($image_path2)) {
$size = imageresize($image_path2, "prod");
echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"javascripts/CaricaFoto.js\"></script><a href=\"javascript:CaricaFoto('$image_path')\"><img border=\"1\" src=\"$image_path2\" alt=\"$title\" $size></a>"; ?> |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно SHAKA1 31.05.2008 г. в 18:54:43 |
| | makarovgosha | Дата: 31.05.2008, в 19:32 | Сообщение №6 | УчастникПользователь №: 333 Сообщений: 56
| А как лучше, как я сделал чуть выше, или ваш вариант? |
| | | Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|
|