• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Проблема совместимости

Image CMS
Статус
В этой теме нельзя размещать новые ответы.

Роман

Форумчанин
#1
Стоял wp-ecommerce, решил установить Woocommerce на локалке и все настроить, и случилась вот такая беда , и что самое интересно на той же теме только чистой список товаров отображается нормально, буду благодарен если кто-то поможет разобраться с данной проблемой. Виджеты справа сползли вниз в левый угол , это страница магазина. Есть догадки что нужно отредактировать размер витрины, но почему в чистой теме она нормально интегрируется и перекрывает виджеты? За дельные советы буду благодарен.
 

Валерий

Специалист
#2
А зачем Вы вообще такую кашу заварили? o_O Создайте на локалке новый домен, установите Wordpress, залейте туда WooCommerce. Делов на 30 минут, зато не будите геммороиться с проблемой совместимости. Начните жизнь с чистого листа! :)
 

Роман

Форумчанин
#3
А зачем Вы вообще такую кашу заварили? o_O Создайте на локалке новый домен, установите Wordpress, залейте туда WooCommerce. Делов на 30 минут, зато не будите геммороиться с проблемой совместимости. Начните жизнь с чистого листа! :)
Нужно отредактировать именно этот сайт с этой темой, проблема только на самой страничке "магазина" в осталном все норм работает
 

Валерий

Специалист
#4
Нужно отредактировать именно этот сайт с этой темой, проблема только на самой страничке "магазина" в остальном все норм работает
Страничка магазина - она то и самая важная. :) Не знаю, что Вам тут посоветовать, но смешивать два разных плагина в рамках одного сайта - не самая хорошая идея. В тех же таблицах БД могут всякие хвосты от wp-ecommerce остаться... Да и вообще, я бы лучше оставил тот сайт на wp-ecommerce как есть, для примера, а новый делал на отдельном домене с чистого листа. У меня уже на локалке 3 раза все начисто слетало. Причем наглухо. Никакие там архивы и копии БД не помогали. Три раза начинал с нуля. До сих пор так и не понял, из-за чего проблема возникает, причем возникает она неожиданно. Надеюсь что это проблема только на локалке. У меня Денвер какой-то старенький стоит....
 

Роман

Форумчанин
#5
Страничка магазина - она то и самая важная. :) Не знаю, что Вам тут посоветовать, но смешивать два разных плагина в рамках одного сайта - не самая хорошая идея. В тех же таблицах БД могут всякие хвосты от wp-ecommerce остаться... Да и вообще, я бы лучше оставил тот сайт на wp-ecommerce как есть, для примера, а новый делал на отдельном домене с чистого листа. У меня уже на локалке 3 раза все начисто слетало. Причем наглухо. Никакие там архивы и копии БД не помогали. Три раза начинал с нуля. До сих пор так и не понял, из-за чего проблема возникает, причем возникает она неожиданно. Надеюсь что это проблема только на локалке. У меня Денвер какой-то старенький стоит....
Да уже понял что это есть не хорошо :) Но просто хотелось бы перейти на другой плагин не меняя сайта, и темы.
Нашел ошибку, но почему-то не помогает.
В style.css самой темы Woocommerce вставляет код
/* WooCommerces ----------- */

Код:
.woocommerce .content, .woocommerce #main-fullwidth {
    background: #27363D;
}
.variations .label {
    background-color:inherit;
    color: inherit;
    display: block !important;
    font-size: inherit;
    font-weight: inherit;
    line-height:inherit;
    text-shadow: none;
    vertical-align: inherit;
    white-space: inherit;
    padding: 8px 8px 8px 0 !important;
}
.woocommerce input[type="text"], .woocommerce input[type="password"], .woocommerce input.text, .woocommerce input.title, .woocommerce textarea, .woocommerce select {
    margin: 0;
    padding: 4px !important;
}
.quantity input[type="text"], .quantity input.text, .quantity input{
    margin: 0;
    padding: 0 !important;
}
.woocommerce img {
    width: auto !important;
    height: auto !important;
}

(проверено на другом сайте)
В эту при установке код не был вставлен , но после того как добавил к сожалению ничего не изменилось o_O
 
Последнее редактирование модератором:

Роман

Форумчанин
#6
Решил проблему, как выяснилось просто нужно быть внимательнее, woocommerce при установке дает подсказки и 2 решения проблемы, дабы не пользоваться переводчиком опишу что нужно сделать в случае возникновения
  1. идем в wp-content/themes/ваша тема/
  2. находим там файл page.php , переименовываем в woocommerce.php
  3. находим строки
    <?php if ( have_posts() ) :
    либо
    <PHP ENDIF;?>
4. Удаляем их и часть кода под ними, вместо них вставляем <?php woocommerce_content(); ?>
Вот такой я решил свою проблему не совместимости темы.
Есть еще вариант , но попробую уже завтра.
 

Валерий

Специалист
#7
Я даже как-то и предположить не мог, что у ВасWooCommerce в теме не подключен! :confused: Это вроде как само собой разумеется. А файл page.php, на мой взгляд, имеет смысл переименовывать, если у Вас будет полный WooCommerce, т.е. магазин без блога. У меня в шаблоне page.php и woocommerce.php изначально были. Первый для вывода страницы блога, ну а второй - страниц магазина.
 

Роман

Форумчанин
#8
Я даже как-то и предположить не мог, что у ВасWooCommerce в теме не подключен! :confused: Это вроде как само собой разумеется. А файл page.php, на мой взгляд, имеет смысл переименовывать, если у Вас будет полный WooCommerce, т.е. магазин без блога. У меня в шаблоне page.php и woocommerce.php изначально были. Первый для вывода страницы блога, ну а второй - страниц магазина.
Да , как не странно не создался этот файл, кстати спасибо за подсказку, вставил page.php стандартный и woocommerce.php. Таким образом витрина становится полноценной без виджетов справа
 

Валерий

Специалист
#9
Таким образом витрина становится полноценной без виджетов справа
Да, витрина становится полноценной, но вот все остальное...:ROFLMAO: Хотя, может Вам остальное и не нужно. ;) Тут загвоздка кроется в том, что для большинства магазинов без системы фильтров не обойтись. А почти все разработчики тем и плагинов делают так, что эти самые фильтры нужно размещать в сайдбаре. Можно конечно изрядно повозиться и самому сделать эти фильтры вверху страницы, на манер плагина от Saphali "Фильтры по свойcтвам лайт". Но подобных готовых и удобных решений (плагин Saphali, для моих задач, тоже не идеален) мне пока не попадалось :(. Я изначально тоже хотел делать без сайдбара. Более того, у меня в шаблоне на страницах магазина он был отключен. Но и фильтры нормально смотрятся только в сайдбаре, и будет большое число рубрик и подрубрик (400-500), а в меню, даже и выпадающем, их как-то не очень удобно просматривать. Вообщем, пришлось вернуть сайдбра на его законное место...
 

Роман

Форумчанин
#10
Да, витрина становится полноценной, но вот все остальное...:ROFLMAO: Хотя, может Вам остальное и не нужно. ;) Тут загвоздка кроется в том, что для большинства магазинов без системы фильтров не обойтись. А почти все разработчики тем и плагинов делают так, что эти самые фильтры нужно размещать в сайдбаре. Можно конечно изрядно повозиться и самому сделать эти фильтры вверху страницы, на манер плагина от Saphali "Фильтры по свойcтвам лайт". Но подобных готовых и удобных решений (плагин Saphali, для моих задач, тоже не идеален) мне пока не попадалось :(. Я изначально тоже хотел делать без сайдбара. Более того, у меня в шаблоне на страницах магазина он был отключен. Но и фильтры нормально смотрятся только в сайдбаре, и будет большое число рубрик и подрубрик (400-500), а в меню, даже и выпадающем, их как-то не очень удобно просматривать. Вообщем, пришлось вернуть сайдбра на его законное место...
Ну саму страницу с товарами я сделаю как "личное" а фильтры будут в виджете. Дело в том что по 3 товара в строке из за неимения большего места (когда витрина не полноценная) смотрится как-то убогенько. Кстати, можно ли сделать так что бы на товар нельзя было нажимать? Т.е при просмотре витрины нельзя было открывать товары, и можно было бы нажать только кнопку "в корзину"?
И еще такой вопрос, можно ли сделать так что бы при выходе именно из "корзины" она очищалась?
 
Последнее редактирование:

Валерий

Специалист
#11
Кстати, можно ли сделать так что бы на товар нельзя было нажимать? Т.е при просмотре витрины нельзя было открывать товары, и можно было бы нажать только кнопку "в корзину"?
Конечно, делов на пару минут! В папке шаблонов найти php файл, который отвечает за вывод товаров в архивах. Потом найти часть кода, выводящую товар поэлементно. Т.е в куске кода будет вывод картинки, за ней название товара, потом цена, и кнопка "Добавить в корзину" (там, скорее всего эти элементы выводятся хаками, но понять из текста не трудно, что за что отвечает, т.к. разработчики комменты ставят, или прямо из названия хака можно догадаться). Все это добро заключено в ссылку. Вот первый тег ссылки <a> и нужно передвинуть чуть ниже, туда, где выводится кнопка "Добавить в корзину".

И еще такой вопрос, можно ли сделать так что бы при выходе именно из "корзины" она очищалась?
Т.е. чтобы корзина очищалась, когда клиент переходит со страницы корзины на другие страницы сайта, но при этом окончательно не закрывает окно браузера? o_O
 

Роман

Форумчанин
#12
Конечно, делов на пару минут! В папке шаблонов найти php файл, который отвечает за вывод товаров в архивах. Потом найти часть кода, выводящую товар поэлементно. Т.е в куске кода будет вывод картинки, за ней название товара, потом цена, и кнопка "Добавить в корзину" (там, скорее всего эти элементы выводятся хаками, но понять из текста не трудно, что за что отвечает, т.к. разработчики комменты ставят, или прямо из названия хака можно догадаться). Все это добро заключено в ссылку. Вот первый тег ссылки <a> и нужно передвинуть чуть ниже, туда, где выводится кнопка "Добавить в корзину".



Т.е. чтобы корзина очищалась, когда клиент переходит со страницы корзины на другие страницы сайта, но при этом окончательно не закрывает окно браузера? o_O
Ага, верно, суть в том что в моей сфере продаж ни кто не покупает по несколько товаров сразу. Сделал вместо кнопки "добавить в корзину" кнопку "оформить заказ" человек сразу переходит и выбирает кол-во. Нужно просто сделать так что бы там не могло быть сторонних товаров. Если нажал оплата-перенесло на форуму оплаты, если нажал на главную перенесло на главную и очистило корзину
 

Валерий

Специалист
#13
Само собой можно. Сделать можно все! :ROFLMAO: Только я не знаю точно как. :( Передо мной такой задачи никогда не стояло, и я даже не задумывался о подобных вещах. Но, если бы готовых вариантов кода для такого дела не нашел, то попробовал бы через плагин Woocommerce Emoty Cart Button. Нужная кнопка там есть. Остается только заставить плагин работать именно так, как нужно Вам. Теоретически - этого можно добиться и все должно получиться.
 

Роман

Форумчанин
#14
Само собой можно. Сделать можно все! :ROFLMAO: Только я не знаю точно как. :( Передо мной такой задачи никогда не стояло, и я даже не задумывался о подобных вещах. Но, если бы готовых вариантов кода для такого дела не нашел, то попробовал бы через плагин Woocommerce Emoty Cart Button. Нужная кнопка там есть. Остается только заставить плагин работать именно так, как нужно Вам. Теоретически - этого можно добиться и все должно получиться.
Спасибо, будем пробовать, да, задачи нестандартные я б сказал.
 

Роман

Форумчанин
#15
Конечно, делов на пару минут! В папке шаблонов найти php файл, который отвечает за вывод товаров в архивах. Потом найти часть кода, выводящую товар поэлементно. Т.е в куске кода будет вывод картинки, за ней название товара, потом цена, и кнопка "Добавить в корзину" (там, скорее всего эти элементы выводятся хаками, но понять из текста не трудно, что за что отвечает, т.к. разработчики комменты ставят, или прямо из названия хака можно догадаться). Все это добро заключено в ссылку. Вот первый тег ссылки <a> и нужно передвинуть чуть ниже, туда, где выводится кнопка "Добавить в корзину".
<!-- Product Name -->
<td class="product-name">
<?php
if ( ! $_product->is_visible() || ( ! empty( $_product->variation_id ) && ! $_product->parent_is_visible() ) )
echo apply_filters( 'woocommerce_in_cart_product_title', $_product->get_title(), $values, $cart_item_key );
else
printf('<a href="%s">%s</a>', esc_url( get_permalink( apply_filters('woocommerce_in_cart_product_id', $values['product_id'] ) ) ), apply_filters('woocommerce_in_cart_product_title', $_product->get_title(), $values, $cart_item_key ) );

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

Валерий

Специалист
#16
Вот в этом коде спрятана ссылка...
Спрятано - это когда кто-то чего-то прячет, да так, чтобы нельзя было найти! :ROFLMAO: А "в этом коде" лично я ссылку вижу, так как она там только одна "вся такая в Дольче Габбана", и других ссылок нет. Уверен, Вы догадываетесь, как выглядит ссылка. Может, конечно, это не та ссылка которая требуются... Тогда ищите нужную.
 

Роман

Форумчанин
#17
Спрятано - это когда кто-то чего-то прячет, да так, чтобы нельзя было найти! :ROFLMAO: А "в этом коде" лично я ссылку вижу, так как она там только одна "вся такая в Дольче Габбана", и других ссылок нет. Уверен, Вы догадываетесь, как выглядит ссылка. Может, конечно, это не та ссылка которая требуются... Тогда ищите нужную.
<a href="%s">%s</a>
Может я не совсем понимаю что с ней делать, удалял %s первую и вторую, там где нужно менять ссылку начинают происходить странные вещи, но ссылка не убирается :)
 

Валерий

Специалист
#18
...удалял %s первую и вторую...
Второй маркер %s надо оставить. Он выводит название товара. А ссылку вместе с маркером - удалить. Т.е. удалить надо начало (<a href="%s">) и окончание ссылки (</a>), ну то, что подставляется на место первого маркера.
 
Последнее редактирование:

Роман

Форумчанин
#19
Второй маркер %s надо оставить. Он выводит название товара. А ссылку вместе с маркером - удалить. Т.е. удалить надо начало (<a href="%s">) и окончание ссылки (</a>), ну то, что подставляется на место первого маркера.
т.е остаться должно так
printf('%s', esc_url
в таком случае происходит вот что

там где ссылка это название товара

ЗЫ: Спасибо за подсказки
решил проблему другим способом Вместо <a href="%s">%s</a> вставил <img="%s">%s и удалил </a> ссылка исчезла что с картинки что с названия товара , приобрела такой вид

Без ссылки в картинках и названии товара , изменял 2 кода в
plugins\woocommerce\templates\cart\cart.php
<!-- The thumbnail --> тут меняется к картинке
<!-- Product Name --> тут к названию товара
Может не лучший вариант решения, но проблемы больше нет.
 
Последнее редактирование:

Валерий

Специалист
#20
...Может не лучший вариант решения, но проблемы больше нет.
Лучший, или не лучший - это не важно, главное, что решение найдено! :) Только я так и не понял, почему изначальный вариант ссылкой у Вас не работал должным образом. o_O Может Вы второпях что-то не то удаляли. Функция printf() имеет вид примерно следующего плана:
Код:
printf('<a href="%s">%s</a>', маркер_1, маркер_2)
И если удалить оттуда тег начала ссылки, тег окончания ссылки, и маркер_1, то вроде как все должно работать.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу