0 Пользователей и 1 Гость просматривают эту тему.
  • 142 Ответов
  • 17154 Просмотров
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
JPATH_BASE - константа. определяется один раз, и в дальнейшем при выполнении скрипта переопределена быть не может.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Я не знаю, где там что и сколько раз определяется, но я своими глазами вижу, что установка аддона extended menu каким то образом заставляет JPATH_BASE отдавать ROOT/administrator, там где она должна отдавать просто ROOT. Вот тут http://akinfold.blogspot.ru/2009/03/jpathroot-jpathbase-jpathsite.html читаем - "JPATH_BASE -- всегда содержит путь к корню текущего приложения, то есть когда вы находитесь в back-end константа JPATH_BASE == JPATH_ADMINISTRATOR, а когда находитесь во front-end -- JPATH_BASE == JPATH_SITE." Вот видимо extended menu как то влияет на эти условия. Больше предположений нет, но факт влияния налицо.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
установка аддона extended menu каким то образом заставляет JPATH_BASE отдавать ROOT/administrator, там где она должна отдавать просто ROOT

это не возможно :) JPATH_BASE отдается в зависимости от контекста выполнения - либо фронт, либо админка. ни у плагинов, ни у компонентов, ни у прочих расширений нет возможности влиять на это. то что в подключаемом плагине front_editor файл инклудится таким образом

Цитировать
JPATH_BASE.'/administrator/components/com_jshopping/functions.php'

и при этом нет проверки на контекст выполнения, никак не относится к плагину расширенных пунктов меню. ведь плагины могут подключаться (и подключаются) как с фронта, так и с админки. и что содержит в случае подключения плагина с админки JPATH_BASE ? в плагинах никогда не стоит делать

Цитировать
JPATH_BASE.'/administrator/...'
« Последнее редактирование: 08.10.2013, 10:33:11 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
и при этом нет проверки на контекст выполнения, никак не относится к плагину расширенных пунктов меню.

Ну тогда объясните мне, почему FPE работает нормально, пока не установлен аддон Extended Menu? А прямо в момент установки оного сразу получаем: "Warning: require_once(/home/jorevo/data/www/site.ru/administrator/administrator/components/com_jshopping/functions.php) [function.require-once]: failed to open stream: No such file or directory in /home/jorevo/data/www/site.ru/plugins/jshoppingproducts/front_product_editor/front_product_editor.php on line 3". И теперь, после установки Extended Menu получаем тоже самое при попытке зайти в админке в любой пункт меню ЖШ.
« Последнее редактирование: 08.10.2013, 11:09:42 от jorevo »
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Сорри... промахнулся
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
Ну тогда объясните мне, почему FPE работает нормально, пока не установлен аддон Extended Menu

потому что Extended Menu видимо подключает плагины той же группы, что и FPE. а FPE не рассчитан на это. ошибка в любом случае в FPE. нельзя делать
Цитировать
JPATH_BASE.'/administrator/...'

попробуйте заменить на
Код
JPATH_ADMINISTRATOR.'/components/com_jshopping/...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
потому что Extended Menu видимо подключает плагины той же группы, что и FPE. а FPE не рассчитан на это. ошибка в любом случае в FPE. нельзя делать

Сорри за дотошность, но как может подключение плагинов повлиять на что то, что приводит к описанной ошибке?

Цитировать
попробуйте заменить на
Код
JPATH_ADMINISTRATOR.'/components/com_jshopping/...

Да я с самого начала заменил на
Код
JPATH_ROOT.'/administrator/components/com_jshopping/...

To Linfuby: вам тоже сорри, за назойливость... вы отметили, что множественный выбор имеет право на существование, но ничего не сказали относительно того, будет ли это право реализовано?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Сорри за дотошность, но как может подключение плагинов повлиять на что то, что приводит к описанной ошибке?

чисто технически вы имеете в виду? смотрите, один и тот же плагин в зависимости от того, откуда он будет подключен, может выполнятся как в админке, так и на фронте. плагины подключаются группами, т.е. грубо говоря вызывается не какой то конкретный плагин, а все плагины, которые входят в определенную группу. далее плагины уже сами решают, что им делать, в зависимости от того, определены ли в них обработчики вызываемых событий. теперь, что имеем мы. имеем плагин пунктов меню, и имеем еще один плагин FPE, входящий в ту же группу. Из админки подключаем эту группу плаигнов. В итоге - в FPE получаем ошибку. потому что изначально FPE по каким то причинам не учитывает то, что он может быть подключен из админки. По каким - это вопрос не ко мне. Возможно просто недоглядели. Возможно, что в базовых файлах ЖШ нет такого, что плагины этой группы подключаются из админки. Но понимаете, никто не запрещает сторонним расширениям это сделать. По хорошему, FPE должен проверить контекст выполнения (админка или фронт), и только если фрон загружать уже то что ему надо. А этого не учитывается. Плюс еще и JPATH_ADMINISTRATOR.'/components/com_jshopping/... И итого имеем то, что имеем :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
To Linfuby: вам тоже сорри, за назойливость... вы отметили, что множественный выбор имеет право на существование, но ничего не сказали относительно того, будет ли это право реализовано?
Отвечу как есть... У меня сейчас несколько проектов, которые требуют моего внимания. Раздавать бесплатно результаты работы конечно интересно, но благотворительность не накормит мою семью.
Спасибо вам всем что участвуете в развитии этих расширений. Однако я не могу уделять много времени им. Да и банально я не помню о всех фишках которые надо прикрутить туда иди сюда.
Обязательно найду время этой теме.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Отвечу как есть...

Спрошу как есть, прямо... цена вопроса?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Спрошу как есть, прямо... цена вопроса?
100 000$ и 6 месяцев работы...
Так как выхода два.
Либо написать свой компонент магазина, либо хак.
Для хака надо править роутер.
Научите его обрабатывать строку типа такой:
index.php?option=com_jshopping&controller=manufacturer&task=view&category_id[0]=1&category_id[1]=2&manufacturer_id[0]=1
Тогда Вы запросто реализуете свою потребность (кстати очень рекомендую цитировать не только конец разговора, то и начало тоже. Прошло полгода, я естественно могу не помнить о сути темы про множественный список)
Я покопался в этом роутере и у меня не получилось его нормально хакнуть (Ну не моя это стезя роутеры), может у Вас получится.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Прошло полгода, я естественно могу не помнить о сути темы про множественный список)

Суть в том, что ваш компонент "Расширенные пункты меню" (http://dell3r.ru/joomshopping/addons/extended-menu) не позволяет выбрать несколько категорий, производителей, продавцов и тд. Несколько характеристик позволяет (там поле для множественного выбора), а для категорий низзя, потому что там просто выпадающий список.

Не очень понял насчёт роутера, насколько я помню, ничего такого не надо, потому как для контроллера products можно выбрать произвольное кол-во производителей и категорий, то есть дело только за переделкой для категорий, производителей и пр. выпадающего списка во множественный выбор.

ЗЫ. Роутер... вы имеете в виду, что если в качестве контроллера задать к примеру category и выбрать несколько категорий, то реально будет выбрана только первая категория? Про эту глюкофичу ЖШ я знаю. Но задача переделки роутера не стоит, т.к. в основном множественная выборка категорий и производителtй (ну и меток с продавцами) нужна для контроллера products. То есть просто переделать все выпадающие списки на множественный выбор, как для характеристик.

В принцЫпе можно немного усложнить задачу, что бы всё было по уму... для контроллера products показывать все поля множественным выбором, для контроллера category - поле категории выпадающим списком, всё остальное множественным выбором, для контроллера manufacturer - поле производители выпадающим списком, остальные множественным выбором и тд. Вот как то так я это вижу...
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Попробую объяснить на пальцах и примерах.
Не мой компонент не позволяет, а сам ЖШ не позволяет. Если я позволю делать множественный выбор категорий и производителей, то начнутся упреки "Почему не работает" когда пользователь выберет меню "Категории" и выберет их несколько (Эта проблема известна) а показываться будет только первая.
А что будет если выбрать пункт меню "Производители" и выбрать несколько категорий? Уже полезут ошибки роутера.
Поэтому чтобы делать возможным множественный выбор, надо сначала поправить роутер...

На счет возможности выбора в зависимости от типа пункта меню - это проблематично в виду использования скриптов (На фоне перехода Joomla от Mootools к jQuery). Использовать чистый javascript не получится в виду различных версий Joomla.

В общем вместо того чтобы изобретать аэроплан с различным учетом всех особенностей могу порекомендовать самостоятельно улучшить данный аддон.

Откройте файл \components\com_jshopping\metadata.xml, найдите текст name="category_id" и добавьте через пробел текст: multiple="multiple"
То же самое и с name="manufacturer_id"
И будем Вам то самое счастье, о котором Вы мечтаете :)
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
А что будет если выбрать пункт меню "Производители" и выбрать несколько категорий? Уже полезут ошибки роутера.

А разве тут что то будет? Разве нельзя для контроллера "производители" задать несколько категорий? Щаз проверять лень, но вроде бы должно работать.

Цитировать
На счет возможности выбора в зависимости от типа пункта меню - это проблематично в виду использования скриптов (На фоне перехода Joomla от Mootools к jQuery). Использовать чистый javascript не получится в виду различных версий Joomla.

При чём тут скрипты? Выбор в зависимости от контроллера.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
А разве тут что то будет? Разве нельзя для контроллера "производители" задать несколько категорий? Щаз проверять лень, но вроде бы должно работать.
В том то и дело, что можно, но только указав их через запятую.
Если же сделать множественный список для категорий и производителей, то они к сожалению не через запятую указываются, а как массив отсюда и ошибки роутера.
При чём тут скрипты? Выбор в зависимости от контроллера.
Не хочу объяснять, только потому что Вы не знаете как формируются доп. параметры пунктов меню, а следовательно не поймете.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Если же сделать множественный список для категорий и производителей, то они к сожалению не через запятую указываются, а как массив отсюда и ошибки роутера.

Мне только кажется, или формирование URL в виде "через запятую" архисложная задача? Получить массив, разбить на элементы и "воткнуть" элементы массива в URL через запятую - мне кажется это те самые пресловутые "полторы строчки кода", если знать куда воткнуть и как. И ничего не надо с роутером колдовать, всё решаемо на уровне элементарных преобразований.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
jorevo, это действительно архисложная задача.
Считаете иначе? Код полностью открыт и доступен для улучшений. Всё в Ваших руках.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
jorevo, это действительно архисложная задача.
Считаете иначе? Код полностью открыт и доступен для улучшений. Всё в Ваших руках.

Вадим, получить элементы массива и сформировать из них URL - архисложная задача?

Я могу считать как угодно, на мой взгляд для профессионала, тем более если он автор данного расширения, тут вообще ничего сложного не может быть, так как необходимы только переделки на уровне замены выпадающего списка на множественный выбор и формирования результирующего URL из элементов массива. Если это действительно так, то я наверное и сам справлюсь, но при прочих равных я на это убью приличное кол-во времени, посему собственно я и начал с "цены вопроса".
*

nevigen

  • Moderator
  • 10431
  • 862 / 25
  • http://n*****n.com
- можно сделать ?
- сложно очень
- сколько будет стоить ?
- дофига и много времени
- не понимаю что сложного
- сложно ....
- на мой взгляд это не сложно
- ну сделайте сами, код открыт
- я думаю профессионалу будет легче, потому и спросил сколько
- ...... (как думаете какой будет ответ ?)

может хватит? напоминает уже творчество крылова..
если есть по сути что-то... обсудите.
один и тот же вопрос задавать 2 раза есть смысл ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
может хватит? напоминает уже творчество крылова..

Может мы сами как то разберёмся без арбитра?

Вадим, озвучьте цену, если устроит, я соглашусь, если нет, буду сам рыть или найду ещё кого... А то вон уже люди волнуются.
*

nevigen

  • Moderator
  • 10431
  • 862 / 25
  • http://n*****n.com
Может мы сами как то разберёмся без арбитра?
так я именно об этом и говорю !
гоу ту приват, мейл или еще что то.. просто для форума ваш диалог ну никакого полезного эффекта не имеет.
нет решений. нет обсуждения конкретных проблем или вопросов.

П.с. ладдно бы новички, вы то оба завсегдатаи.. что мешает списаться ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Вадим, получить элементы массива и сформировать из них URL - архисложная задача?
По факту это плёвое дело на 2 минуты. В контексте создания пункта меню в Joomla - архисложная задача требующая хакать ядро Joomla.
Я знаю всего 1 выход который потребует небольших затрат, но это тоже будет являться хаком только уже JoomShopping'a.
То есть самым лучшим вариантом для Вас будет - Хак роутера ЖШ.
Я с роутером не особо дружу, поэтому мои попытки его хакнуть не привели к успеху.

Вадим, озвучьте цену, если устроит, я соглашусь, если нет, буду сам рыть или найду ещё кого... А то вон уже люди волнуются.
очень рекомендую найти еще кого-то кто сможет хакнуть роутер.
Все очень просто - ниже адрес страницы на которой должны показываться товары производителя 1 из категорий 1 и 2 без ошибок.
Код
index.php?option=com_jshopping&controller=manufacturer&task=view&category_id[0]=1&category_id[1]=2&manufacturer_id[0]=1

Как только научите роутер корректно обрабатывать эту строку можете смело править аддон для мультивыбора:
1. Открыть файл plugins\jshoppingadmin\extended_menu\extended_menu.php
2. В функциях CreateCategoryList и CreateManufacturerList найти строку
Код: php
$f->setAttribute('type', 'list');
3. Добавить ниже строчку
Код: php
$f->setAttribute('multiple', "multiple");

Радуйтесь результату.

Можете прям сейчас поправить аддон, но опять же без хака роутера это будет бесполезно.
А я роутер править не буду. (Я уже объяснял почему)
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
nevigen, но ведь полезная же беседа местами. )

Все очень просто - ниже адрес страницы на которой должны показываться товары производителя 1 из категорий 1 и 2 без ошибок.
Код
index.php?option=com_jshopping&controller=manufacturer&task=view&category_id[0]=1&category_id[1]=2&manufacturer_id[0]=1

Вадим, а ты точно ничего не путаешь? Я помнится в давние времена, с год назад, когда я в первый раз бодался с роутером ЖШ, (я тогда кажется даже про твой аддон не знал ещё)... так вот тогда, мне помнится я прямо в стоковой версии ЖШ задавал список то ли категорий, то ли производителей чере3 запятую в виде типа "121,122,125" и вроде всё это работало без дополнительных телодвижений.

Ну соответственно вот, результаты эксперимента:

http://www.truckstock.ru/index.php?option=com_jshopping&controller=products&task=view&category_id=39,38&manufacturer_id=40&limitstart=20 - выборка товара по производителю и 2-ум категориям, категории через запятую, всё работает.
« Последнее редактирование: 15.03.2014, 18:33:33 от jorevo »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Через запятую пожалуйста, сколько угодно. Только вот множественный список при создании пунктов меню создает выбранные позиции в виде массивов, а не через запятую. Чтобы преобразовать этот массив в строку через запятую (Та самая архисложная задача), нужно хакать Joomla (Ну нету там обработки плагинами). Вот и получается что либо хакать Joomla чтобы получалась строка, которую роутер ЖШ понимает, либо хакать сам роутер.

А хотите через зяпятую указывать - Удалите аддон пунктов меню и вписывайте ID категорий сколько угодно
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
В общем вместо того чтобы изобретать аэроплан с различным учетом всех особенностей могу порекомендовать самостоятельно улучшить данный аддон.

Откройте файл \components\com_jshopping\metadata.xml, найдите текст name="category_id" и добавьте через пробел текст: multiple="multiple"
То же самое и с name="manufacturer_id"
И будем Вам то самое счастье, о котором Вы мечтаете :)

Если всё так просто, то о чём мы тогда беседуем? Или это какой то тонкий сарказм?

Цитировать
А хотите через зяпятую указывать - Удалите аддон пунктов меню и вписывайте ID категорий сколько угодно

Дык а юзабилити? А характеристики с атрибутами?

Цитировать
очень рекомендую найти еще кого-то кто сможет хакнуть роутер.

Может Дмитрий сюда заглянет? Он пока где то стороной ходит. ) Тоже наверное не хочет с роутером связываться...

ЗЫ. В принципе я не против хака, но хотелось бы какого то элегантного решения без правки 2-ух десятков файлов дистрибутива.
« Последнее редактирование: 16.03.2014, 12:42:03 от jorevo »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Всем хочется элегантного решения... но тут его нету.
И никакого сарказма... легко изменить сам.аддон. и вы уже сможете выбирать множественный список. А вот работать он не будет.
А вообще кроме меня и Дмитрия больше нет знакомых программистов?
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

uniontrade

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
JoomShopping v.3.16.0
Через две недели после установки:
www.uniontrade.com.ua/plugins/jshoppingadmin/extended_menu/extended_menu.php on line 88, referer: http://uniontrade.com.ua/administrator/index.php?option=com_plugins&view=plugins[Wed Apr 30 21:04:35 2014] [error] [client xx.xx.xxx.xx] PHP Fatal error:  Call to a member function getElementsByTagName() on a non-object in
(в панели управления  пункт меню JoomShopping даёт белый экран)
В выборе типа меню JoomShopping отсутствует, т.е. пункт меню для магазина не создать.
Отключение плагина Extended Create Menu (той части что для админки) админку для магазина реанимировало, но при выборе типа меню JoomShopping пропал напрочь.
куда копать?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Восстановите родной файл metadata.xml из дистрибутива
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

uniontrade

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Спасибо. Помогло. 
*

beagler

  • Живу я здесь
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Точно такой же косяк у клиента. Причина - поломался metadata.xml
В самом конце - мусор. После закрывающего "</metadata>" есть ещё "tadata>". Убрал - все заработало.
Откуда мог взяться мусор?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Адрес e-mail как логин при регистрации

Автор orexov_m

Ответов: 51
Просмотров: 12952
Последний ответ 28.02.2024, 18:34:01
от nevigen
Вместо стоимость 0 руб. вывести БЕСПЛАТНО в карточке товаров (Каталоге)

Автор IgorGeneralov

Ответов: 0
Просмотров: 842
Последний ответ 13.04.2023, 21:06:09
от IgorGeneralov
[Решено] - Заказ на одной странице

Автор shurakana

Ответов: 58
Просмотров: 16484
Последний ответ 16.03.2023, 09:53:16
от kit2m2
Функционал сравнение товаров в JoomShopping

Автор falur

Ответов: 53
Просмотров: 13395
Последний ответ 22.08.2022, 09:54:16
от kit2m2
[Решено] Товар на замену в блоке с ценой

Автор dron

Ответов: 2
Просмотров: 1255
Последний ответ 13.04.2022, 16:09:53
от dron