Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3

Себлод - вопросы и решения

Себлод - вопросы и решения 1 год 2 нед. назад #7819

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
Radem, много вопросов в одном сообщении.
Я тоже пришёл к варианту с своим шаблоном. Получать id категории и название из $cck и загонять в foreach. Но вот на этапе потрошения массива и появились проблемы. Не понимаю, как из него вычленить нужные данные. Да, я понимаю, что есть масса решений "в лоб" - да тот же list & search через модули, и просто скрывать их для дочерних материалов, но это всё костыли.
Добавьте в шаблон:
<pre><?php print_r($cck) ?> <pre>
Получите список все доступных в шаблоне данных. Дальше уже разберетесь.
И вот ещё интересный момент. Использую bootstrap, поэтому разметкой себлода не пользуюсь. На странице вывода отдельного материала получилось вырезать все лишние div, кроме 1-го (вида <div id="cck63_mainbody" class="cck-pos-mainbody seb_css3 vertical cck63-deepest">). И вот где его искать - без понятия.
Какой шаблон используете для контента. Minima? Если нет, попробуйте его.
Ещё забавная задача. Как вывести слайдер в виде модуля понятно, но как можно собрать слайдер сразу в материале, через конструктор контента (что бы органично встроить в макет страницы)?
Если вы имеете ввиду слайдер в макете материала (а не в тексте материала), то нужно просто привести структуру вашего слайдера к структуре, которая описана в документации по Bootstrap. После этого всё должно заработать автоматически, при условии, что Bootstrap подключен на сайте.
И попутно маленький вопрос по fieldx. Создаю новое поле для изображения(media, место хранения:none), цепляю его через fieldx (custom-article-introtext[поле]). При создании контента, указываю первое изображение, а при попытке подцепить 2-ое, медиа менеджер раскрывается на весь экран, и не даёт вставить изображение. При попытке сохранить 1 картинку, ничего не происходит(содержимое просто сбрасывается.).
Не используйте поле media, используйте поле Image - Upload
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 1 год 2 нед. назад #7820

  • Radem
  • Radem аватар
  • Не в сети
  • Новичок
  • Сообщений: 10
  • Репутация: 0
Wedal пишет:
И вот ещё интересный момент. Использую bootstrap, поэтому разметкой себлода не пользуюсь. На странице вывода отдельного материала получилось вырезать все лишние div, кроме 1-го (вида <div id="cck63_mainbody" class="cck-pos-mainbody seb_css3 vertical cck63-deepest">). И вот где его искать - без понятия.
Какой шаблон используете для контента. Minima? Если нет, попробуйте его.

Сделал шаблон на базе minima. Лишние div режутся с помощью этого (fields/markup.php):
function cckMarkup_sebm_rd_pr_ind( $cck, $html, $field, $options )
{
	return $html;
}

Но самый первый div все равно остаётся. И как его убрать - не понятно.
Последнее редактирование: 1 год 2 нед. назад от Radem.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 1 год 1 нед. назад #7837

  • Radem
  • Radem аватар
  • Не в сети
  • Новичок
  • Сообщений: 10
  • Репутация: 0
Ещё момент. Есть у меня fieldx (product_big_imgx), в котором хранятся изображения. Если я делаю вывод изображений через типографию в конструкторе (typography-html), то всё в порядке. Использую вывод вида
<img src="$cck->getValue('product_big_imgx,0')" alt="">
. Но если я пытаюсь то же самое вывести через шаблон
<img src="<?php echo $cck->getValue('product_big_imgx,0'); ?>" alt="">
, то на выходе ничего не получаю. При этом в массиве изображение есть.

Решение: заменить предыдущую конструкцию в шаблоне на
$cck->get('product_big_imgx')->value[0]->value
Плохо, что не понимаю, почему предыдущий вариант не работает в шаблоне.
Последнее редактирование: 1 год 1 нед. назад от Radem.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 3 нед. назад #7890

  • Radem
  • Radem аватар
  • Не в сети
  • Новичок
  • Сообщений: 10
  • Репутация: 0
Есть groupx. В нём лежат данные в виде:
[mp_carousel_x] => stdClass Object
   (
	...
	[name] => mp_carousel_x
        [type] => group_x
	...
	[value] => Array
	   (
		[0] => Array
		   (
                       [mp_carousel_image] => stdClass Object
                           (
				...
				[value] => images/storage/mp_carousel/5/onl7980a.jpg
				...
			   )
			...

Собственно, как получить ссылку, лежащую в [value] ?
$cck->getValue('mp_carousel_x', 0, 'mp_carousel_image'); не работает. Мозг уже сломан...
Последнее редактирование: 11 мес. 3 нед. назад от Radem.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 2 нед. назад #7896

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
Radem, от переменной, из которой вы получили этот код:
$peremennaya->mp_carousel_x->value[0]->mp_carousel_image->value
Вроде так. В любом случае, вы можете приближаться последовательно. Например, сначала написать
$peremennaya->mp_carousel_x и посмотреть, что получится, далее
$peremennaya->mp_carousel_x->value[0] и т.д.

А вообще, скорее всего вам нужно будет перебирать mp_carousel_x через цикл foreach.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 2 нед. назад #7898

  • Radem
  • Radem аватар
  • Не в сети
  • Новичок
  • Сообщений: 10
  • Репутация: 0
Wedal пишет:
А вообще, скорее всего вам нужно будет перебирать mp_carousel_x через цикл foreach.
Да, это оказался самый простой вариант.

Залез в роутинг - за красивыми ссылками. Задача - привести ссылки на новости к виду parent/alias - т.е. что бы новости отображались в виде sitename/news/alias.
Joomla: sef - on, mod rewrite - on, .htaccess - on
Seblod: sef - parent/alias, canonical urls - off, категории/материалы создаются через джумлу.
Результат: 404 - Категория не найдена.

Подозреваю, дело в том, что категория и пункт меню имеют одинаковый алиас - news. Т.е. их нужно как-то сопоставить, но как это сделать в себлоде не представляю.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 2 нед. назад #7900

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
Radem, если категории и материалы создаются через Joomla, то просто создайте пункт меню типа Блог категории на категорию новостей. Добавьте ему алиас news, ну и выводите простые ссылки Joomla в вашем модуле. Они будут именно такими, как вы написали.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 2 нед. назад #7902

  • Radem
  • Radem аватар
  • Не в сети
  • Новичок
  • Сообщений: 10
  • Репутация: 0
Wedal пишет:
Radem, если категории и материалы создаются через Joomla, то просто создайте пункт меню типа Блог категории на категорию новостей. Добавьте ему алиас news, ну и выводите простые ссылки Joomla в вашем модуле. Они будут именно такими, как вы написали.
Нет, через seblod. Вывожу через list&search.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 1 нед. назад #7905

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
Radem, list&search выводит только список материалов. Ссылка же на каждый из них должна быть на com_content. В настройках данного типа поиска выберите вкладку List, нажмите кнопку 2, во столбце Link напротив поля Title выберите Content -> View и сделайте то, что я писал выше. Этого должно быть достаточно. Если нет, нажмите + рядом с Content -> View и посмотрите настройки SEF в появившемся окне. Там же есть привязка к пункту меню.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 1 нед. назад #7906

  • butovski_v
  • butovski_v аватар
  • Не в сети
  • Прохожий
  • Сообщений: 3
  • Репутация: 0
В Себлоде есть фишка: Multi-site.
Как она работает?
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 1 нед. назад #7908

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
butovski_v, я бы сказал, что примерно также, как мультиязычность в Joomla: одна база, несколько сайтов. В админке материалы для всех сайтов идут в общем списке, но могут быть отфильтрованы по сайту, на фронтенде на каждый сайт отображается только список материалов, созданных для него.
Чтобы оставлять сообщения нужно зарегистрироваться.
Спасибо сказали: butovski_v

Себлод - вопросы и решения 11 мес. 1 нед. назад #7909

  • butovski_v
  • butovski_v аватар
  • Не в сети
  • Прохожий
  • Сообщений: 3
  • Репутация: 0
Wedal пишет:
я бы сказал, что примерно также, как мультиязычность в Joomla: одна база, несколько сайтов.
В Joomla есть Language Switcher, который без себлудовского менеджера мультисайта всё прекрасно делает.
Включая переход на внешний URL.
А для менеджера Multi-site в Себлоде такого модуля не хватает.
Мне так кажется.
Извините, ещё раз повторю вопрос:

"В Себлоде есть фишка: Multi-site.
Как она работает?"
Последнее редактирование: 11 мес. 1 нед. назад от Wedal.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 11 мес. 1 нед. назад #7910

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
butovski_v, я не говорю про модуль многоязычности. Говорю про многоязычность в целом, т.к. она дает хорошую аналогию для понимания функциональности Multi-site.

Если вы хотите создать статью на двух языках (= создать статьи на разных сайтах в Multi-site), то вы должны создать две статьи - по одной на каждом языке - и указать для них нужные языки. После этого в менеджере материалов вы будете видеть две статьи, а на сайте только одну, которая при переключении языка будет меняться на вторую.

В Multi-site примерно тот же подход, только при создании статьи вместо языка вы выбираете сайт или категорию, относящуюся к определенному сайту.

Суть в том, что 1 копия Joomla и SEBLOD за счет умной фильтрации контента и правильных редиректов создают на фронденде имитацию нескольких сайтов. Пользователи будут видеть именно несколько сайтов, администратор же будет видеть один сайт, с рассортированными материалами.

Всё это очень упрощенно, но дает возможность понять принцип мультисайтовости Seblod. Дальше нужно разбираться уже в деталях.
Чтобы оставлять сообщения нужно зарегистрироваться.
Спасибо сказали: butovski_v

Себлод - вопросы и решения 8 мес. 1 нед. назад #8016

  • Radem
  • Radem аватар
  • Не в сети
  • Новичок
  • Сообщений: 10
  • Репутация: 0
Добрый день. Имеется свой шаблон (sebod - list, в нём вся разметка страницы). Но возникла необходимость поместить кастомный код в <head></head> страницы. Код будет добавляться через доп. поле себлода при создании материала (по необходимости). Собственно, как это красивее всего сделать?
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 8 мес. 1 нед. назад #8017

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
Radem, если вы добавляете код в head, то, вероятно, это либо CSS, либо JS. Если так, смотрите:
docs.joomla.org/JDocument/addScript
docs.joomla.org/JDocument/addScriptDeclaration
docs.joomla.org/JDocument/addStyleSheet
docs.joomla.org/JDocument/addStyleDeclaration

Если же вы хотите изменить иную информацию в head, то напишите какую. Там уже совсем другая история.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 8 мес. 1 нед. назад #8018

  • Radem
  • Radem аватар
  • Не в сети
  • Новичок
  • Сообщений: 10
  • Репутация: 0
Wedal, в данном случае речь идет о rel cannonical. Официальный плагин я для этого использовать не хочу.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 8 мес. 1 нед. назад #8019

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
Radem, это будет посложнее. Копайте в сторону примерно следующего кода:
<?php
$document = JFactory::getDocument();
$doc_data = $document->getHeadData(); 
 
Здесь идет перебор по $doc_data в цикле и поиск канонического URL. При необходимости его можно добавить. 
 
$document->setHeadData($doc_data);

Подробнее без разбора написать не могу - на память не помню. Используйте этот код в основном шаблоне сайта. Далее выведите $doc_data через print_r. Посмотрите на страницах, где уже есть canonical, как формируется каноническая ссылка в этой переменной. Далее воспроизведите ее формирование в шаблоне SEBLOD так, как вам нужно. Наконец, с помощью $document->setHeadData($doc_data); перезапишите данные в head'е.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 8 мес. 1 нед. назад #8020

  • Radem
  • Radem аватар
  • Не в сети
  • Новичок
  • Сообщений: 10
  • Репутация: 0
Wedal, Пробовал 2 варианта.

1 вариант:
$cururl = JURI::current();
$link = $cck->getValue('rel_canonical'); 
if ($cururl != $link){
$document = JFactory::getDocument();
$document->addHeadLink($link, 'canonical');
}

В этом случае 2 проблемы:
1 - $link = $cck->getValue('rel_canonical'); - хотя $link и содержит требуемый адрес (проверял через echo), почему-то через $document->addHeadLink($link, 'canonical'); он не выводится. Однако, если $link присвоить значение вручную, всё выводится (за исключением ситуации, описанной в п.2).
2 - проблема с $document->addHeadLink($link, 'canonical');. В таком виде, ничего в шапку не выводится. Если же я меняю canonical на что угодно другое, всё выводится.

2 вариант:
$document = JFactory::getDocument();
$doc_data= $document->getHeadData(); 
$cururl = JURI::current();
$links = '<link rel="canonical" href="'.$cck->getValue('rel_canonical').'">';
 
if ($cururl != $cck->getValue('rel_canonical') && ($cck->getValue('rel_canonical') != NULL )){
	$replaced = false;
	foreach ($docd['custom'] as $key=>$c) {
		if (strpos($c, 'rel="canonical"')!==FALSE) {
			$doc_data['custom'][$key] = $links ;
			$replaced = true;
		}
	}
	if (!$replaced) {
		$doc_data['custom'][] = $links ;
	}
 
	$document->setHeadData($doc_data);
}

В данном случае всё работает, как и должно (пока правил сообщение, нашёл свои ошибки). В общем-то, задача почти решена, но не понятно, почему проблемы с 1-ым вариантом.
Последнее редактирование: 8 мес. 1 нед. назад от Radem.
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 8 мес. 6 дн. назад #8021

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
Radem, первый вариант не работает вероятно потому, что вы пропустили в addHeadLink пару параметров. Посмотрите спецификацию по этой функции:
docs.joomla.org/JDocumentHTML/addHeadLink
В нижнем коде, я так понимаю, должно быть не:
$doc_data= $document->getHeadData();
а:
$docd= $document->getHeadData();
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 6 дн. 6 ч. назад #8476

  • founder
  • founder аватар
  • Не в сети
  • Прохожий
  • Сообщений: 4
  • Репутация: 0
Приветствую :)
Буду признателен если получу здесь помощь или совет.
Делаю сайт, практически копию этого: заказподряд.рф
Решил использовать себлод, примерно разобрался как он работает, но есть много не понятных моментов, т.к нет опыта готовых проектов на нём.
Хотелось бы сделать чтобы все работало с минимальной нагрузкой на сервер. И вот моя куча вопросов:

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

2. Реализация рубрик: Строительство домов, Ремонт квартир и офисов, Проектирование и дизайн и т.д. как лучше сделать..
проблема схожа с регионами.. Например будет рубрика: Строительство домов, а в ней подрубрики: Дома из дерева, Дома из кирпича, Бани, и т.д.
Вот эти рубрики и подрубрики тоже должны быть одни и те же для всех трёх типов контента. То есть при создании контента одного из типов, пользователь сначала выбирает регион, затем выбирает рубрику и если хочет подрубрики, а далее заполняет поля относящиеся к уже определённому типу контента.
С помощью каких полей правильнее это реализовать?
Расталкивать контент по категориям было бы как то не правильно имея такой мощный инструмент как себлод.

3. Поиск и фильтрация. Объединение функционала Регионов с функционалом Рубрик так чтобы было удобно пользователю.
Пока не знаю т.к. не знаю как поступить в 1 и 2 пунктах.

4. Подрядчик и подряды, как привязать к подрядчику его подряды если например подряд был размещен раньше чем создан подрядчик, наверное придется сделать размещение подряда с обязательной регистрацией и пользователя делать как подрядчика, но лучше бы без регистрации.
Просто при создании подряда сделать что то типа многостраничной формы где так же заполняются поля для третьего типа, но желательно чтобы у подрядчика на странице отображались его подряды..
Возможен ли такой вариант(без регистрации) если учесть что при последующем создании подряда нужно будет ссылаться на одного и того же подрядчика чтобы не создавать нового?

Вот собственно как то так, надеюсь на помощь, а то не хочется что то делать чтобы потом опять все переделывать..
Последнее редактирование: 6 дн. 6 ч. назад от founder. Причина: испрвлена пунктуационная ошибка
Чтобы оставлять сообщения нужно зарегистрироваться.

Себлод - вопросы и решения 4 дн. 8 ч. назад #8478

  • Wedal
  • Wedal аватар
  • Не в сети
  • Администратор
  • Сообщений: 2536
  • Спасибо получено: 597
  • Репутация: 217
founder,

1) Если вы хотите дать возможность пользователю выбрать регион и далее он должен всегда использоваться, то вам не обойтись без какого-либо способа хранения этого региона. Это могут быть либо сессии Joomla, либо Cookie браузера пользователя. И в том и в другом случае вам потребуется программирование. Одним SEBLOD'ом здесь не обойтись.

2) Здесь тот же принцип, что и в первом пункте, но мне кажется, что не слишком правильно давать пользователю выбрать рубрику/подрубрику только один раз, а потом хранить ее. Он может захотеть посмотреть сначала одну рубрику, а потом другую. Здесь мне сложно подсказать, как правильно, т.к. не знаю общий смысл сайта и ваше ТЗ, но, вероятно, категории здесь были бы более уместны.

3) Если вы решили работать с пользователем по отдельному региону, то так оно и должно быть. Пользователь, в первый раз выбрав регион, уже не должен встречать его в поиске. Либо уже не делать привязку к региону и добавлять его выбор во все поисковые формы.

4) Нет. Только так: сначала регистрация подрядчика, затем создание подрядов. Представьте любой сайт, например, объявлений. Вы же не размещаете объявление до регистрации.
Чтобы оставлять сообщения нужно зарегистрироваться.
  • Страница:
  • 1
  • 2
  • 3
Время создания страницы: 0.322 секунд

Вверх