ShopCMS - 1 часть

Статус
В этой теме нельзя размещать новые ответы.
Полностью согласен!
Но цель другая ... учимся работать самостоятельно с "исходниками"! Ведь если "просто дать человеку рыбу, он будет сыт один день, а если научить его ловить рыбу, он будет сыт всю жизнь"
Ведь через некоторе время будет что-то новое, и тогда накопленный опыт позволить самостоятельно делать все необходимые исправления!


Спасибо за предложения!
Об ошибках:
1. "... при нажатии лубой сылки внизу браузера выдаёт ошыбк ..."
Такого не наблюдается! Попробуйте работать с оригинальными (без DEZEND) admin и index. Если ошибка есть - нужно смотреть настройки!

2. "... Fatal error: Cannot redeclare ... "
Это глюк от разрабов. В rss.php определены функции, которые ранее определены в functions.php. Нужно найти в rss.php и закоментировать (включая все входящие в них операторы) function _deleteHTML_Elements( $str ) и function decodeHTML_Elements( $str ) или дать другие имена этим функциям! И все будет ОК!

Если есть желающие продолжать тестирование, голосуем внизу кнопкой -:read:





VVP, сылками всё получилось (ошибка было моя).

RSS заработал, Спасибо тебе огромное.

А как в спец-предложении поставить код(артикул) товара.
вроде вот этот код надо поставить в (home.tpl.html)
{$product_info.product_code}

А вот что написать в (home.php) не-знаю.?
VVP, если не сложно, подскажи пожалуйста,
Спасибо
 
VVP, сылками всё получилось (ошибка было моя).
RSS заработал, Спасибо тебе огромное.

А как в спец-предложении поставить код(артикул) товара.
вроде вот этот код надо поставить в (home.tpl.html)

А вот что написать в (home.php) не-знаю.?
VVP, если не сложно, подскажи пожалуйста,
Спасибо

Быстрое решение:
Из home.php, результаты в template передаются оператором $smarty->assign("special_offers",$result);
Причем, в $result[5] хранится значение артикля.
Открываем home.tpl.html и ищем место, где нужно вставить $result[5] или применительно к среде в home.tpl.html, где разместить выражение {$special_offers[5]}
Например, выбираем такое (отмечено красным) место вставки артикля:
... ... ...
{include file="header.tpl.html" header=$link}
<table class="adn"><tr><td class="hdbtop vleft">
<table class="adn">
<tr>
<td width="100%">
<table class="adn">
{if $special_offers[5]}
<tr>
<td class="fill">{$special_offers[5]}</td>
</tr>
{/if}

<tr>
<td class="price">{if $special_offers.cena <= 0}{$smarty.const.STRING_NOPRODUCT_IN}{else}{$special_offers[3]}{/if}</td>
</tr>
{if $special_offers.cena > 0 && ( $smarty.const.CONF_SHOW_ADD2CART eq 1 ) && ($smarty.const.CONF_DISP_INDEXCART eq 1)}
<tr>
... ... ...
 
вот поставил -сгенерир лицензию,маг запустился и пашет
зенд не трогал
чем это плачевно может сказаться если тока сгенерил лицензию ???
 
Быстрое решение:
Из home.php, результаты в template передаются оператором $smarty->assign("special_offers",$result);
Причем, в $result[5] хранится значение артикля.
Открываем home.tpl.html и ищем место, где нужно вставить $result[5] или применительно к среде в home.tpl.html, где разместить выражение {$special_offers[5]}
Например, выбираем такое (отмечено красным) место вставки артикля:
... ... ...
{include file="header.tpl.html" header=$link}
<table class="adn"><tr><td class="hdbtop vleft">
<table class="adn">
<tr>
<td width="100%">
<table class="adn">
{if $special_offers[5]}
<tr>
<td class="fill">{$special_offers[5]}</td>
</tr>
{/if}

<tr>
<td class="price">{if $special_offers.cena <= 0}{$smarty.const.STRING_NOPRODUCT_IN}{else}{$special_offers[3]}{/if}</td>
</tr>
{if $special_offers.cena > 0 && ( $smarty.const.CONF_SHOW_ADD2CART eq 1 ) && ($smarty.const.CONF_DISP_INDEXCART eq 1)}
<tr>
... ... ...




VVP, классно Получилось.
Пытаюсь сделать такое.
чтобы при нажатии на картинке спец-предложение, открывалось большая картинка.

вот не как не пойму какая тут нужна переменная?
(для большой картинки).
то-есть что надо поставить в (home.tpl.html) после
Вроде логично бы было поставить
{$product_info.big_picture}

но для этого надо что-то добавить в (home.php)
VVP, подскажи пожалуйста.
наверняка ты это знаешь. ;)
Спасибо.
 
:D гы..
во-первых надо в home.php добавить такую вот строчку
$row1[8] = $picture_row[2]; сам догадаешься куда :)
а потом только в home.tpl.html
добавить
PHP:
вначале:
{if !$printable_version}
<script type="text/javascript" src="design/user/{$smarty.const.TEMPLATE_GO}/images/highslide.packed.js"></script>
<script type="text/javascript">
<!--
    hs.graphicsDir = 'design/user/{$smarty.const.TEMPLATE_GO}/images/';
    hs.outlineType = 'rounded';
    window.onload = function() {literal}{
    hs.preloadImages(1);
    }{/literal}
//-->
</script>
{/if}

а на месте картинки
это:
<a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$special_offers[i][0]}.html{else}index.php?productID={$special_offers[i][0]}{/if}" title="{$special_offers[i][2]}"><img src="pictures/{$special_offers[i][6]}"  alt="{$special_offers[i][2]}" class="spacel"></a>

заменить на это:
<a href="pictures/{$special_offers[i][8]}" class="highslide" onclick="return hs.expand(this, {literal}{captionId: 'caption1'}{/literal})"><img id="thumb1" src="pictures/{$special_offers[i][6]}" alt="{$special_offers[i][2]}" hspace="2" class="spacel"></a>
 
:D гы..
во-первых надо в home.php добавить такую вот строчку
$row1[8] = $picture_row[2]; сам догадаешься куда :)
а потом только в home.tpl.html
добавить
PHP:
вначале:
{if !$printable_version}
<script type="text/javascript" src="design/user/{$smarty.const.TEMPLATE_GO}/images/highslide.packed.js"></script>
<script type="text/javascript">
<!--
    hs.graphicsDir = 'design/user/{$smarty.const.TEMPLATE_GO}/images/';
    hs.outlineType = 'rounded';
    window.onload = function() {literal}{
    hs.preloadImages(1);
    }{/literal}
//-->
</script>
{/if}

а на месте картинки
это:
<a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$special_offers[i][0]}.html{else}index.php?productID={$special_offers[i][0]}{/if}" title="{$special_offers[i][2]}"><img src="pictures/{$special_offers[i][6]}"  alt="{$special_offers[i][2]}" class="spacel"></a>

заменить на это:
<a href="pictures/{$special_offers[i][8]}" class="highslide" onclick="return hs.expand(this, {literal}{captionId: 'caption1'}{/literal})"><img id="thumb1" src="pictures/{$special_offers[i][6]}" alt="{$special_offers[i][2]}" hspace="2" class="spacel"></a>

Сделал как ты сказал.
но почему то не работает
то-ест в (home.php) добавил строку к списку (жирным)

$row1[8] = $picture_row[2];
$row[6] = $row["filename"];
$row["cena"] = $row[3];
$row[3] = show_price($row[3]);
$result[] = $row;


а потом как ты сказал в темплетс, по порядку.

и получается после pictures/ вместо картинки выводится число (1) :ah:
я подозреваю что вместо $row1[8] = $picture_row[2]; надо что то другое написать,
а что именно? тёмный лес.
 
VVP, классно Получилось.
Пытаюсь сделать такое.
чтобы при нажатии на картинке спец-предложение, открывалось большая картинка.

вот не как не пойму какая тут нужна переменная?
(для большой картинки).
то-есть что надо поставить в (home.tpl.html) после

Вроде логично бы было поставить

но для этого надо что-то добавить в (home.php)
VVP, подскажи пожалуйста.
наверняка ты это знаешь. ;)
Спасибо.
Если правильно понят вопрос, то ...
В скрипте есть стандартная возможность отображения 3-х фото товара: по умолчанию "Фотография" - "Маленькая фотография" - "Большая фотография"
В режиме "Админ", выбираем "Каталог Товаров" - "Редактирование товара" - "Добавить Фото"
Меню находится сразу за "META Description" и "META Keywords"
Выбираем соответствующие пути к образам, что должны отображаться:
1. Фотография - это фото, которое будет отображаться по умолчанию
2. Маленькая фотография - это фото, что будет отображается при нажатии на фото по умолчанию, т.е. на образ "Фотография" .
3. Большая фотография - это фото, что будет отображается при нажатии ссылки "увеличить изображение" или на образ определенный в "Маленькая фотография"

Таким образом, нажимая на картинку в спецпредложении, сначала увидим отображение картинки "Маленькая Фотография".
Далее, нажимая на эту картинку "Маленькая Фотография", увидим картинку "Большая фотография"
 
Сделал как ты сказал.
но почему то не работает
то-ест в (home.php) добавил строку к списку (жирным)

$row1[8] = $picture_row[2];
$row[6] = $row["filename"];
$row["cena"] = $row[3];
$row[3] = show_price($row[3]);
$result[] = $row;


а потом как ты сказал в темплетс, по порядку.

и получается после pictures/ вместо картинки выводится число (1) :ah:
я подозреваю что вместо $row1[8] = $picture_row[2]; надо что то другое написать,
а что именно? тёмный лес.

ну еп.. я пример привел из Alpha 2 в RC1 немного по др. хоть немного мозгом пошевели.. :)
вместо $row1[8] = $picture_row[2];
соответсвенно $row[8] = $row["enlarged"];
 
ну еп.. я пример привел из Alpha 2 в RC1 немного по др. хоть немного мозгом пошевели.. :)
вместо $row1[8] = $picture_row[2];
соответсвенно $row[8] = $row["enlarged"];


только что папробовал.
поставил
$row[8] = $row["enlarged"];
странно,не работает.


home.php
//special offers

$result = array();

$q = db_query("SELECT s.productID, s.categoryID, s.name, s.Price, s.brief_description, s.product_code,
s.default_picture, s.default_picture, s.enabled, b.productID, t.filename FROM ".SPECIAL_OFFERS_TABLE."
AS b LEFT JOIN ".PRODUCTS_TABLE." AS s on (b.productID=s.productID) LEFT JOIN ".PRODUCT_PICTURES." AS
t on (s.default_picture=t.photoID AND s.productID=t.productID) WHERE s.enabled=1 order by b.sort_order") or die (db_error());

while ($row = db_fetch_row($q))
{
if (strlen($row["filename"])>0 && file_exists( "pictures/".$row["filename"])){
$row[8] = $row["enlarged"];
$row[6] = $row["filename"];
$row["cena"] = $row[3];
$row[3] = show_price($row[3]);
$result[] = $row;
}

}

$smarty->assign("special_offers",$result);
?>
 
Если правильно понят вопрос, то ...
В скрипте есть стандартная возможность отображения 3-х фото товара: по умолчанию "Фотография" - "Маленькая фотография" - "Большая фотография"
В режиме "Админ", выбираем "Каталог Товаров" - "Редактирование товара" - "Добавить Фото"
Меню находится сразу за "META Description" и "META Keywords"
Выбираем соответствующие пути к образам, что должны отображаться:
1. Фотография - это фото, которое будет отображаться по умолчанию
2. Маленькая фотография - это фото, что будет отображается при нажатии на фото по умолчанию, т.е. на образ "Фотография" .
3. Большая фотография - это фото, что будет отображается при нажатии ссылки "увеличить изображение" или на образ определенный в "Маленькая фотография"

Таким образом, нажимая на картинку в спецпредложении, сначала увидим отображение картинки "Маленькая Фотография".
Далее, нажимая на эту картинку "Маленькая Фотография", увидим картинку "Большая фотография"



всё правильно.
но у меня такая идея,
чтобы при клике на картинке спрцпредложении, не было переход в друдую страницу а просто открывалось большая картина товара. я имею виду как вот здес.
(Сматри картинку)

вот этот код надо поставить в (home.tpl.html)
<a href="pictures/{$product_info.big_picture}" class="highslide" onclick="return hs.expand(this, {literal}{captionId: 'caption1'}{/literal})">


вот вопрос? что надо в (home.php) добатить ?

чтобы в (home.tpl.html)
отвечал за эту переменую {$product_info.big_picture}
тоесть за большую картину.
 

Вложения

  • dddd.jpg
    dddd.jpg
    25,3 KB · Просмотры: 14
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху