Перейти к содержанию
Форум поддержки пользователей VamShop

Вывод название товаров, и производителей в алфавитном


Рекомендуемые сообщения

Задача: в меню Производители и в меню Товары, добавить строку: Весь список

и должно получиться вот что: http://4studio.ru/catalog.htm и http://4studio.ru/fabrics.htm

Ссылка на сообщение
Поделиться на другие сайты

А что за весь список?!

Такая ссылка будет по центру когда войдёшь в какой-то конкретный раздел.

А что б прям слева в боксе Разделы такая ссылка была - так нельзя.

Во всяком случае по умолчанию такого нет.

Хотя можно поставить html-прайс - http://vamshop.ru/node/205

и прост в /templates/шаблон/boxes/box_categories.html добавить ссылку на этот прайс.

Ссылка на сообщение
Поделиться на другие сайты

построю вопрос по другому:

Если производителей больше 7(они у меня выводятся не в виде drop-down, а обычно),

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

Ссылка на сообщение
Поделиться на другие сайты

По алфавиту товар в категориях и там сортируется по умолчанию.

По поводу производителей и ссылки все производители, только скрипты как-то справить.

Хотя не понятно, в чём разница между все товары и все производители.

Это ж одно и тоже получается.

Ссылка на сообщение
Поделиться на другие сайты

ок, сейчас возьму скрипт все товары, и переделаю его под все производители и все категории.

как сделаю выложу! навернека пригодиться!

Ссылка на сообщение
Поделиться на другие сайты

я установил модуль прайс руками, не понимаю как добавить ссылку, она не появилась, как сделать это руками?

Ссылка на сообщение
Поделиться на другие сайты

    $export_query = "select

    m.manufacturers_id, m.manufacturers_name

    from

    " . TABLE_PRODUCTS . " p LEFT JOIN

    " . TABLE_MANUFACTURERS . " m ON

    p.manufacturers_id = m.manufacturers_id LEFT JOIN

    " . TABLE_PRODUCTS_DESCRIPTION . " pd ON

    m.manufacturers_name = m.manufacturers_name AND

    pd.language_id = '".$_SESSION['languages_id']."'

    order by

    '".@$_GET['sort_by']."',

    m.manufacturers_name";

$export_query = vamDBquery($export_query);

    while ($row = vam_db_fetch_array($export_query,true)) {

сделав это так, у меня стали выводится только производители, но их почему то каждогго вида по 5-6 выползает, как сделать что бы один производитель выходил всего один раз

Ссылка на сообщение
Поделиться на другие сайты

Посмотрите вот этот вопрос в faq - http://vamshop.ru/node/27

и посмотри как формируется SQL запрос $listing_sql на вывод товаров в /includes/modules/default.php

Может наведёт на мысли какие.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...

Как и обещал выкладываю код:

<?
    $export_query = "select
    p.products_id, m.manufacturers_id, m.manufacturers_name
    from
    " . TABLE_PRODUCTS . " p LEFT JOIN
    " . TABLE_MANUFACTURERS . " m ON
    p.manufacturers_id = m.manufacturers_id LEFT JOIN
    " . TABLE_PRODUCTS_DESCRIPTION . " pd ON
    p.products_id = pd.products_id AND
    pd.language_id = '".$_SESSION['languages_id']."'
    where
    p.products_status = 1
    GROUP BY
    m.manufacturers_id
    order by
    '".@$_GET['sort_by']."',
    pd.products_name";

$export_query = vamDBquery($export_query);
    while ($row = vam_db_fetch_array($export_query,true)) {


            echo "<td><a href=\"".vam_href_link( 'manufacturers_id/' .$row["manufacturers_id"]).".html\" class=\"mnf\">" .$row["manufacturers_name"]. "</a>".
          " </td>\n";[/code]

Теперь проблема такая, PHP я знаю очень плохо(не мой профиль), нужно сделать что бы выводились буквы алфавита.

Знаю как реализовать схематично, но как именно в php - незнаю. вот ход моих мыслей:

Значит, например, нам нужно завести переменную, которая будет содержать в себе букву, которая уже печаталась. Изначальна эта переменная (назовем ее, например, $letter, равна "" ), т.е. инициализируем ее до цикла

$letter = "";

В цикле до вывода названия компании, сравниваем первую букву из названия с нашей $letter. Если Первая буква названия компании = $letter, выводим просто название, если не равна, то выводим первую букву компании как заголовок, и присваиваем ее также переменной $letter...

После цикла переменную $letter убиваем, чтобы нигде не мешалась.

кто-нибудь может помочь?

Ссылка на сообщение
Поделиться на другие сайты

Название: Вывод всех категорий сайта на страницу

Описание: Добавляет ссылку в меню категории: Все категории. При нажатии на которую, открывается страница со списком категорий. Сделанно для больших магазинов.

Проблема: Выводятся все категории, но ссылка у всех одна и таже.

Код:

    $export_query = "select
    c.categories_id, cd.categories_id, cd.categories_name, c.categories_url
    from
    " . TABLE_CATEGORIES . " c,
    " . TABLE_CATEGORIES_DESCRIPTION . " cd
    where
    c.categories_status = 1
    GROUP BY
    cd.categories_id
    order by
    '".@$_GET['sort_by']."',
    cd.categories_name";

$export_query = vamDBquery($export_query);
    while ($row = vam_db_fetch_array($export_query,true)) {


            echo "<a href=\"".vam_href_link( '' .$row["categories_url"])."\" class=\"mnf\">" .$row["categories_name"]. "</a><br>".
          " \n";



    }

[/code]

Есть у кого-нибудь идеи по устранению этой проблемы?

Ссылка на сообщение
Поделиться на другие сайты

Если известен id категории, то ссылки ведь строить нужно используя vam_href_link и vam_category_link, вот так примерно:


vam_category_link($row["categories_id"],$row["categories_name"]);
[/code]

Может просто ссылки не праваильно создаёшь?

Ссылка на сообщение
Поделиться на другие сайты

я тебе не так написал, не полностью, вот как полностью будет:


vam_href_link(FILENAME_DEFAULT, vam_category_link($row['categories_id'], $row['categories_name']), 'NONSSL', false);
[/code]

Ссылка на сообщение
Поделиться на другие сайты

спасибо, проблема решена.

            echo "<a href=\"".vam_href_link(FILENAME_DEFAULT, vam_category_link($row['categories_id'], $row['categories_name']), 'NONSSL', false)."\">" .$row["categories_name"]. "</a><br>".

Ссылка на сообщение
Поделиться на другие сайты
  • 2 weeks later...

Снова поднимаю тему о алфавите. Помощь нужна в следущем, скрипт выводит на отдельной странице список ВСЕХ категорий.

Пример:

Кухни

Мебель

Столы

Требуется: Присвоить буквы алфавита, т.е.:

К

Кухни

М

Мебель

С

Столы

Значит, например, нам нужно завести переменную, которая будет содержать в себе букву, которая уже печаталась. Изначальна эта переменная (назовем ее, например, $letter, равна "" ), т.е. инициализируем ее до цикла

$letter = "";

В цикле до вывода названия компании, сравниваем первую букву из названия с нашей $letter. Если Первая буква названия компании = $letter, выводим просто название, если не равна, то выводим первую букву компании как заголовок, и присваиваем ее также переменной $letter...

После цикла переменную $letter убиваем, чтобы нигде не мешалась.

Наверника кому-нибудь понадобиться, поэтому прошу подсоединиться всех кто знает php и mysql.

Ссылка на сообщение
Поделиться на другие сайты

вот что получилось:

$query = "SELECT m.manufacturers_name FROM ".TABLE_MANUFACTURERS." as m ";
$query .= "ORDER BY m.manufacturers_name;";
$data_query = vamDBquery($query);

$content = "<ul id='manufacturers_list'>";
// english manufacturers
for ($i=ord('a'); $i<=ord('z'); $i++){
$temp_header = "<li><b>".strtoupper(chr($i))."</b></li>";
$temp_content = "";
while ($data = vam_db_fetch_array($data_query, true)){
if (strtolower($data['manufacturers_name'][0]) == strtolower(chr($i)))
$temp_content .= "<li>".$data['manufacturers_name']."</li>";
}
if ($temp_content) $content .= $temp_header.$temp_content;
$data_query = vamDBquery($query);
}[/code] работает для англ символов. но если сравнивать
[code]strtolower($data['manufacturers_name'][0]) == strtolower(chr($i))

для русских символов оно не работает как это исправить?

Ссылка на сообщение
Поделиться на другие сайты

так по умолчанию кодировка ж и так утф-8 зачем? я не запускаю отдельно скрипт не делаю сам коннект я тестил ето как бокс в магазине....

Ссылка на сообщение
Поделиться на другие сайты

как бокс? а у меня в модуле.. может тебе скинуть скриптик? хотя я его выкладывал сообщениями раньше! блин сейчас протестить еще не могу, на работе.

Вообще странно что он рус. символы не выводит, может причина на стороне бд?

Ссылка на сообщение
Поделиться на другие сайты

понял что нужно сделать... бокс делал просто чтобы было быстрее тестить а переставить один кусок кода в другое место это помоему не проблема

может причина на стороне бд?
врятли...
Ссылка на сообщение
Поделиться на другие сайты

если хранить строку russian_alphabet = 'абвг....я' в файле russian.php а потом брать и вводить из нее символы будет норм или какие есть еще решения?

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...