Изменение старого Прайс листа на нужный

Тема в разделе "Shop-script", создана пользователем Pickles, 11 июл 2008.

Статус темы:
Закрыта.
  1. Pickles

    Pickles Постоялец

    Регистр.:
    18 июн 2008
    Сообщения:
    56
    Симпатии:
    8
    Много чего по прайс листу уже тут обсуждалось до меня, но то что мне надо я не нашел.

    Можно сделать так, чтоб названия категорий писались не сверху, а рядом с наименование (в отдельной колонке).

    Ну типа не так, как стандартно:
    Phones
    ---Nokia
    ------N73ME | нет | 250$

    А так:
    Phones | Nokia | N95 | нет | 50$

    Может кто занет как изменить? :nezn:
     
  2. farm

    farm

    Регистр.:
    8 июн 2006
    Сообщения:
    537
    Симпатии:
    106
    Думаю что нужно изменять шаблон templates/frontend/tmpl/pricelist.tpl.html
     
  3. Pickles

    Pickles Постоялец

    Регистр.:
    18 июн 2008
    Сообщения:
    56
    Симпатии:
    8
    ну вот, если кому-то пригодиться:
    Открываем includes\pricelist.php, находим там код:
    Код:
    $out[$cnt][4] = 0; //0 is for category, 1 - product
    Сразу после него вставляем:
    Код:
    // --- upgrade code ---
     $q_2 = db_query( "select name from ".SS_categories." where categoryID=".$row[2]."" ) or die (db_error());
    $row3 = db_fetch_row($q_2);
    $temp1 = $row3[0];
    $temp2 = $row[1];
    // --- upgrade code ---
    Далее в этом же файле находим код:
    Код:
    $out[$cnt][4] = 1; //0 is for category, 1 - product
    Сразу после него вставляем:
    Код:
    // --- upgrade code ---
    $q_1 = db_query( "select option_value from ".SS_product_options_values." where productID=".$row1[0]."" ) or die (db_error());
    $row2 = db_fetch_row($q_1);
    $out[$cnt][7] = $row2[0];
    $out[$cnt][8] = $temp1;
    $out[$cnt][9] = $temp2;
    // --- upgrade code ---
    Сохраняем, далее идем в pricelist.tpl.html вашего шаблона и меняем этот код:
    Код:
    {section name=i loop=$pricelist_elements}
    		<tr bgcolor=white>
    			<td 
    				{if $pricelist_elements[i][4] ne 1}
    					colspan=3
    				{/if} 
    				bgcolor=#{$pricelist_elements[i][3]} 
    				width=100%>
    
    				{section name=j loop=$pricelist_elements max=($pricelist_elements[i][2]-2)}
    					&nbsp;&nbsp;&nbsp;
    				{/section}
    
    				{if !$printable_version}
    				<a href="index.php?{if $pricelist_elements[i][4] eq 1}productID{else}categoryID{/if}={$pricelist_elements[i][0]}">
    					{$pricelist_elements[i][1]}
    				</a>
    				{else}
    					<b>{$pricelist_elements[i][1]}</b>
    				{/if}
    			</td>
    
    			{if ($pricelist_elements[i][4] eq 1) && ($smarty.const.CONF_CHECKSTOCK eq 1)}
    			<td width=1% align=center>
    				<nobr>{if $pricelist_elements[i][6] > 0}{$smarty.const.ADMIN_PRODUCT_INSTOCK}{else}{$smarty.const.ADMIN_INSUFFICIENT_IN_STOCK}{/if}</nobr>
    			</td>
    			{/if}
    
    			{if ($pricelist_elements[i][4] eq 1) && ($currencies_count ne 0)}
    			<td width=1% align=center>
    				<nobr><B>{$pricelist_elements[i][5]}</B></nobr>
    			</td>
    			{/if}
    		</tr>
    	{/section}
    На этот:
    Код:
    		{section name=i loop=$pricelist_elements}
    		<tr bgcolor=white align="center">
               {if ($pricelist_elements[i][4] eq 1) && ($currencies_count ne 0)}
                <td>
    				{if !$printable_version}
    				<a href="index.php?categoryID={$pricelist_elements[i][0]}">
    					{$pricelist_elements[i][8]}
    				</a>
    				{else}
    					<b>{$pricelist_elements[i][8]}</b>
    				{/if}
    			</td>
    	{/if}
        {if ($pricelist_elements[i][4] eq 1) && ($currencies_count ne 0)}
    			<td align="center">
    				{if !$printable_version}
    				<a href="index.php?categoryID={$pricelist_elements[i][0]}">
    					{$pricelist_elements[i][9]}
    				</a>
    				{else}
    					<b>{$pricelist_elements[i][9]}</b>
    				{/if}
    			</td>
                {/if}       
    	{if ($pricelist_elements[i][2] eq 0) and ($pricelist_elements[i][2] ne 1) and ($pricelist_elements[i][2] ne 2)}
    			<td 
    				{if $pricelist_elements[i][4] ne 1}
    					colspan=3
    				bgcolor="#008000"
    				style="color:#FFFF00" {/if} width=100% align="center">
     				{if $pricelist_elements[i][4] ne 1}
                      	Наименование
                      {/if}
    			</td>
                <td width=1% 
                	{if $pricelist_elements[i][4] ne 1}
    				bgcolor="#008000" style="color:#FFFF00" {/if}  align="center">
                {if ($pricelist_elements[i][4] ne 1)}
                      	Розн.
                {/if}
    			</td>
    			<td width=1% {if $pricelist_elements[i][4] ne 1}
    				bgcolor="#008000"
    				style="color:#FFFF00" {/if} align="center" >
                {if ($pricelist_elements[i][4] ne 1) }
                      	Мел.опт.
                {/if}    	
    			</td>
     {/if} 
     {if ($pricelist_elements[i][2] ne 0) and ($pricelist_elements[i][2] eq 1) and ($pricelist_elements[i][2] ne 2)}
    <td  height="1"	{if $pricelist_elements[i][4] ne 1}	colspan=5	style="color:#FFFF00" {/if} width=100% align="center">
     				{if $pricelist_elements[i][4] eq 1}
                        {if !$printable_version}
                        <a href="index.php?{if $pricelist_elements[i][4] eq 1}productID{else}categoryID{/if}={$pricelist_elements[i][0]}">
                            {$pricelist_elements[i][1]}
                        </a>
                        {else}   <b>{$pricelist_elements[i][1]}</b>        {/if}
                      {else}   &nbsp;     {/if}
    			</td>
       		 {if ($pricelist_elements[i][4] eq 1) && ($currencies_count ne 0)}
                <td width=1% height="0" align="center">
    				<nobr><B>{$pricelist_elements[i][5]}</B></nobr>
    			</td>
             {/if}
             {if ($pricelist_elements[i][4] eq 1) && ($currencies_count ne 0)}
    			<td width=1% height="0" align="center" >
    				<nobr><B>${$pricelist_elements[i][7]}</B></nobr>
    			</td>
             {/if}	
     {/if} 
      {if ($pricelist_elements[i][2] ne 0) and ($pricelist_elements[i][2] ne 1) and ($pricelist_elements[i][2] eq 2)}
    			<td  height="0"	{if $pricelist_elements[i][4] ne 1}	colspan=5	style="color:#FFFF00" {/if} width=100% align="center">
     				{if $pricelist_elements[i][4] eq 1}
                        {if !$printable_version}
                        <a href="index.php?{if $pricelist_elements[i][4] eq 1}productID{else}categoryID{/if}={$pricelist_elements[i][0]}">
                            {$pricelist_elements[i][1]}
                        </a>
                        {else}
                            <b>{$pricelist_elements[i][1]}</b>
                        {/if}
                      {else}     &nbsp;    {/if}
    			</td>
       		 {if ($pricelist_elements[i][4] eq 1) && ($currencies_count ne 0)}
                <td width=1% height="0" align="center">
    				<nobr><B>{$pricelist_elements[i][5]}</B></nobr>
    			</td>
             {/if}
             {if ($pricelist_elements[i][4] eq 1) && ($currencies_count ne 0)}
    			<td width=1% height="0" align="center" >
    				<nobr><B>${$pricelist_elements[i][7]}</B></nobr>
    			</td>
             {/if}	
     {/if} 
    		</tr>
    	{/section}
    В результате получается прайс, как во вложении.

    Единственное что только может кто подскажет на счет этого кода:

    Код:
    $q_1 = db_query( "select option_value from ".SS_product_options_values." where productID=".$row1[0]."" ) or die (db_error());
    $row2 = db_fetch_row($q_1);
    У меня в дополнительных свойствах есть пункт "Мелкий опт". С помощью этого кода я вытягию значение из таблицы.

    Помогите сделать этот код универсальным. Что я имею в виду: У меня только одно доп. свойство, поэтому все работает. Если появятся другие доп. свойства, работать он уже будет врят ли. В общем мне надо приблизительно такой вариант:

    Код:
    $q_1 = db_query( "select optionID from ".SS_product_options." where name=Опт.цена" ) or die (db_error());
    $row2 = db_fetch_row($q_1);
    $q_2 = db_query( "select option_value from ".SS_product_options_values." where productID=".$row1[0]." and optionID=".$row2[0]."" ) or die (db_error());
    Этот код выдает ошибку:
    Unknown column 'РћРїС‚.цена' in 'where clause' SQL query : select optionID from SS_product_options where name=Опт.цена
    Понятное дело что проблема в русском языке, ну вот исправить не получается никак.
    Подскажите как в правильно составить SQL-запрос, чтоб вытягивать именно нужное доп. свойство. (В моем случае это "Опт.цена")
     

    Вложения:

    • price_new.gif
      price_new.gif
      Размер файла:
      26 КБ
      Просмотров:
      99
    nafanyaa нравится это.
  4. FLINT

    FLINT А пофлудить?о_О

    Регистр.:
    23 июл 2007
    Сообщения:
    429
    Симпатии:
    176
    а как ты реализовал внесение второй колонки с ценами?
    Т.е. розничную и мелкооптовую цену.
     
  5. Pickles

    Pickles Постоялец

    Регистр.:
    18 июн 2008
    Сообщения:
    56
    Симпатии:
    8
    Это дополнительная характеристика товара. Я ей вытягиваю как раз с помощью кода, который я писал в прошлом посте:
    Открываем includes\pricelist.php, находим там код:
    Код:
    $out[$cnt][4] = 1; //0 is for category, 1 - product
    Сразу после него вставляем:
    Код:
    // --- upgrade code ---
    $q_1 = db_query( "select option_value from ".SS_product_options_values." where productID=".$row1[0]."" ) or die (db_error());
    $row2 = db_fetch_row($q_1);
    $out[$cnt][7] = $row2[0];
    // --- upgrade code ---
    Вот так я вытягию дополнительнуя характеристику товара. Ну предварительно само сабой еще шапку таблицы pricelist.tpl.html шаблона пришлось менять на нужную и затем в нужном месте вставляю код:
    Код:
    {if ($pricelist_elements[i][4] eq 1) && ($currencies_count ne 0)}
    <td width=1% height="0" align="center" >
    <nobr><B>${$pricelist_elements[i][7]}</B></nobr>
    </td>
    {/if}
    Вот как раз с дополнительным свойством проблема и возникла, которую я описал в предыдущем посте в конце.
     
  6. 13zone

    13zone

    Регистр.:
    22 ноя 2008
    Сообщения:
    190
    Симпатии:
    45
    добавил.....
    вылезла ошибка

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 SQL query : select name from SS_categories where categoryID=


    в чем проблема?

    нужно сделать чтобы в прайсе выводилась краткая характеристика товара (с обрезанием на 50 символах)... мож кто подмогнет?
     
  7. Fantasm

    Fantasm Создатель

    Регистр.:
    29 янв 2009
    Сообщения:
    36
    Симпатии:
    5
    Итак, проблема осталась - как кто решил?
    Задача ещё усложнена тем, что у товара несколько характеристик и цена меняется от выбора каждой из них. По сути один и тот же товар может иметь до 30 значений цены в зависимости от выбора тех или иных характеристик...
     
  8. cherepinfo

    cherepinfo Создатель

    Регистр.:
    22 май 2009
    Сообщения:
    23
    Симпатии:
    0
    Подскажите пожалуйста, как добавить картинку в прайс-лист, при навидении которой, картинка бы увеличивалась, немогу найти решение.
     
Статус темы:
Закрыта.