ДОбрый день итак компонент соби оч мне панравился но! он оч не удобный в плане пользования 1)dtree просто ужас ане примочка! вырезать адназначно! у меня не работал в фоксе и в ие и потом просто оно неудобно само по себе я зашол в раздел и решил добавить запись туда ну зачем мне опять ДТРИИ разварачивать? при добавлениии? если я уже в нужной категории сижу? я хотел сделать так: например я зашол на сайт увидел нужную мне категорию зшел в неё увидел подкатегорию провалился туда и только патом я бы добавил свою запись в каталог это намного удобней и больше напоминает систему каталогов виндовс что естественно большенству юзверей намного удобней кроме того в каталоге каторый я делал было около 100 категорий около 600 подкатегорий и более 2000 разделов что естественно приводило дтрии в бешенство и браузеры страшно ругались что скрипт ест память..... 2)кнопку добавить тоже нужно приструнить ибо если у вас просто категории она полезна можно запретить добавление в рутт а вот если у вас 2 3 уровня подкатегорий этот метод не проходит и что? я что потом корневые категории чистить буду распихивая в подразделы? НЕТ! нужно делать фильтр кнопки добавить 3) дизайн если мы отказались от дтрии нужно чтобы все эти категории красиво вывешивались на сайте я сделал так: http://www.rrcat.ru (сайт на заказ) если вы кликнете в пункте навигатор по регионам вы увидите как всё работает и как красиво всё уложено 4) патчвей тоже претерпел изменения чтобы человек мог зайдя в какойто раздел выбрать более высокую категорию не используя навигатор по каталогу если вам понравилась моя идея могу написать как я эти пункты делал
Ответ: Общее неудобство соби - неюзабилити! да что уж там, лучше сразу выкладывай свою версию компонента.
Ответ: Общее неудобство соби - неюзабилити! смешно правда ноя не делал инстал пакет я установил старую соби и повер закинул свой каталог почистил базы и залил дамп но я када делал изменения лог делал дома посмотрю там все изменения описаны
Ответ: Общее неудобство соби - неюзабилити! Посмотреть вложение com_sobi21.zip вот както так как именно не помню ибо еслиб ты спросил через год яб воще чё такое собби бы не вспомнил эт тебе сырой скриптик там обрати внимание на >1000 и на русскими стовами сноски типа //////тутт я сделал так..... далжно получится админку не изменял вроде
Ответ: Общее неудобство соби - неюзабилити! в mod_sobi2menu.php // $cid = intval( mosGetParam( $_REQUEST, 'catid', 0 ) ); $query = "SELECT cats.catid, name, ordering " . "FROM `#__sobi2_cats_relations` AS rel " . "LEFT JOIN `#__sobi2_categories` AS cats ON rel.catid = cats.catid " . "WHERE published = 1 AND rel.parentid = '1' ". "ORDER BY {$config->catsOrdering}"; $database->setQuery( $query ); $categoryList = $database->loadObjectList(); if(sizeof($categoryList) > 0) { require_once($mosConfig_absolute_path.'/templates/******/head.php' ); echo "<ul>"; echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"; foreach($categoryList as $category) { $href = sefRelToAbs("index.php?option=com_sobi2&catid={$category->catid}&Itemid={$config->sobi2Itemid}"); $name = $config->getSobiStr($category->name); echo "<td><li><a href='{$href}'>{$name}</a></li>"; $i++; if ($i%2 != 0) echo "</td>"; else echo "</td></tr><tr>"; } echo "</table>"; echo "</ul>"; require_once($mosConfig_absolute_path.'/templates/*****/end.php' ); } } echo "</div>"; ?> Добавлено через 5 минут в хеад,пшп <?php ?> <a href="javascript:collapse2.slideit()"><h4><font color="#ff6600">Кликни и выбери регион для поиска или размещения новых объявлений</font></h4></a> <div id="cat" style="width: 400px; background-color: #FFFFFF;"> в енд,пшп <?php ?> </div> <script type="text/javascript"> //Syntax: var uniquevar=new animatedcollapse("DIV_id", animatetime_milisec, enablepersist(true/fase), [initialstate] ) var collapse2=new animatedcollapse("cat", 800, true) </script> в наблон между хеадами <script type="text/javascript" src="/templates/newave/animatedcollapse.js"> </script> аниматедкаллапс: //Animated Collapsible DIV- Author: Dynamic Drive (http://www.dynamicdrive.com) //Last updated June 27th, 07'. Added ability for a DIV to be initially expanded. var uniquepageid=window.location.href.replace("http://"+window.location.hostname, "").replace(/^\//, "") //get current page path and name, used to uniquely identify this page for persistence feature function animatedcollapse(divId, animatetime, persistexpand, initstate){ this.divId=divId this.divObj=document.getElementById(divId) this.divObj.style.overflow="hidden" this.timelength=animatetime this.initstate=(typeof initstate!="undefined" && initstate=="block")? "block" : "contract" this.isExpanded=animatedcollapse.getCookie(uniquepageid+"-"+divId) //"yes" or "no", based on cookie value this.contentheight=parseInt(this.divObj.style.height) var thisobj=this if (isNaN(this.contentheight)){ //if no CSS "height" attribute explicitly defined, get DIV's height on window.load animatedcollapse.dotask(window, function(){thisobj._getheight(persistexpand)}, "load") if (!persistexpand && this.initstate=="contract" || persistexpand && this.isExpanded!="yes") //Hide DIV (unless div should be expanded by default, OR persistence is enabled and this DIV should be expanded) this.divObj.style.visibility="hidden" //hide content (versus collapse) until we can get its height } else if (!persistexpand && this.initstate=="contract" || persistexpand && this.isExpanded!="yes") //Hide DIV (unless div should be expanded by default, OR persistence is enabled and this DIV should be expanded) this.divObj.style.height=0 //just collapse content if CSS "height" attribute available if (persistexpand) animatedcollapse.dotask(window, function(){animatedcollapse.setCookie(uniquepageid+"-"+thisobj.divId, thisobj.isExpanded)}, "unload") } animatedcollapse.prototype._getheight=function(persistexpand){ this.contentheight=this.divObj.offsetHeight if (!persistexpand && this.initstate=="contract" || persistexpand && this.isExpanded!="yes"){ //Hide DIV (unless div should be expanded by default, OR persistence is enabled and this DIV should be expanded) this.divObj.style.height=0 //collapse content this.divObj.style.visibility="visible" } else //else if persistence is enabled AND this content should be expanded, define its CSS height value so slideup() has something to work with this.divObj.style.height=this.contentheight+"px" } animatedcollapse.prototype._slideengine=function(direction){ var elapsed=new Date().getTime()-this.startTime //get time animation has run var thisobj=this if (elapsed<this.timelength){ //if time run is less than specified length var distancepercent=(direction=="down")? animatedcollapse.curveincrement(elapsed/this.timelength) : 1-animatedcollapse.curveincrement(elapsed/this.timelength) this.divObj.style.height=distancepercent * this.contentheight +"px" this.runtimer=setTimeout(function(){thisobj._slideengine(direction)}, 10) } else{ //if animation finished this.divObj.style.height=(direction=="down")? this.contentheight+"px" : 0 this.isExpanded=(direction=="down")? "yes" : "no" //remember whether content is expanded or not this.runtimer=null } } animatedcollapse.prototype.slidedown=function(){ if (typeof this.runtimer=="undefined" || this.runtimer==null){ //if animation isn't already running or has stopped running if (isNaN(this.contentheight)) //if content height not available yet (until window.onload) alert("Please wait until document has fully loaded then click again") else if (parseInt(this.divObj.style.height)==0){ //if content is collapsed this.startTime=new Date().getTime() //Set animation start time this._slideengine("down") } } } animatedcollapse.prototype.slideup=function(){ if (typeof this.runtimer=="undefined" || this.runtimer==null){ //if animation isn't already running or has stopped running if (isNaN(this.contentheight)) //if content height not available yet (until window.onload) alert("Please wait until document has fully loaded then click again") else if (parseInt(this.divObj.style.height)==this.contentheight){ //if content is expanded this.startTime=new Date().getTime() this._slideengine("up") } } } animatedcollapse.prototype.slideit=function(){ if (isNaN(this.contentheight)) //if content height not available yet (until window.onload) alert("Please wait until document has fully loaded then click again") else if (parseInt(this.divObj.style.height)==0) this.slidedown() else if (parseInt(this.divObj.style.height)==this.contentheight) this.slideup() } // ------------------------------------------------------------------- // A few utility functions below: // ------------------------------------------------------------------- animatedcollapse.curveincrement=function(percent){ return (1-Math.cos(percent*Math.PI)) / 2 //return cos curve based value from a percentage input } animatedcollapse.dotask=function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload) var tasktype=(window.addEventListener)? tasktype : "on"+tasktype if (target.addEventListener) target.addEventListener(tasktype, functionref, false) else if (target.attachEvent) target.attachEvent(tasktype, functionref) } animatedcollapse.getCookie=function(Name){ var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair if (document.cookie.match(re)) //if cookie found return document.cookie.match(re)[0].split("=")[1] //return its value return "" } animatedcollapse.setCookie=function(name, value, days){ if (typeof days!="undefined"){ //if set persistent cookie var expireDate = new Date() var expstring=expireDate.setDate(expireDate.getDate()+days) document.cookie = name+"="+value+"; expires="+expireDate.toGMTString() } else //else if this is a session only cookie document.cookie = name+"="+value } Добавлено через 1 час 24 минуты и ещё <1000 определяет на каком уровне catid можно добавлять новые обьявления в категорию (раздел) соответсвенно в дампе примерно так: catid=1 до 99 -это корневая категория catid=100 до 999 -это подкатегория catid=1000 до 2000 -это туда куда можно добавлять записи параметр <1000 присутствует в фильтре кнопки добавить и ещё гдето где не помню туда и надо обратить внимание и сначало структурировать на листочке ваш дамп и предпологаемое число категорий и подкатегорий
Ответ: Общее неудобство соби - неюзабилити! Вообще, вот что мне нравится и хотелось бы. http://hotline.ua/gd/2/ С таким структурированием, и особенное внимание левой колонке - фильтры для выбора. Если перейти на главную страницу http://hotline.ua/ с неё есть переход на "Прайс листы", там уже что-то типа каталога, но тоже сделано не так как в SOBI. В SOBI я делал каталог фирм и предприятий. И должен сказать, мне не очень нравится как он выводит список фирм на листе, нет возможности изменять вид - инфо о фирме в строке, в ячейке таблицы, и т.п.. И нельзя настраивать выводимые поля предварительного просмотра. Т.е. видел подобные сайты более удобные для пользователей. Вспомнил о http://hotline.ua/gd/2/, и подобных разделах на этом сайте, потому что нужно делать раздел с прайсами... а привлекательность этого раздела будет зависеть от его удобств.
Ответ: Общее неудобство соби - неюзабилити! ну вапервых не жумла! фильтр цепляет переменные http://hotline.ua/gd/2/47(мадель)-21(диаганаль)-2036-36-30-175 всё это позволяет выбирать из базы нужное кроме того если в списке есть подороже фильтр не удаляет список хитрицы вопщем класная чтука! реализавать несложно (отдельно) всегото делоф переменные реквест и фильтры выборки из базы и фильтры формирующие сам фильтр чтоб его уменьшать итого 2странички кода или одна а вот как связать это с кмс незнаю точнее могу узнать но сёдня мне так впатлу этим заниматся такая лень ведь у мя сёдня празник
Ответ: Общее неудобство соби - неюзабилити! Соби- это зло. делать 6 хаков каждый раз при выходе новой версии- это не айс.
Ответ: Общее неудобство соби - неюзабилити! да вот былабы такая функция каторая как хочеш чё хочеш тебе бы вывадила ты ей тока списак параметров в массивен задаёш и фсё <? function all($anyparam_arry) { globalpeople_brain(decision($anyparam_arry)) }
Ответ: Общее неудобство соби - неюзабилити! Помогите. В каком файле и что надо менять, что бы у названия полей менять шрифт, а так же у самих полей. И вывод полей на сайт имел сразу класс, например: class="rightcol". Т.е. в админке это не надо прописывать. Еще хорошо было бы, убрать визуальный html-редактор в соби2.
Ответ: Общее неудобство соби - неюзабилити! СУПЕР Все работает! Спасибо! Эх, еще б наворотов таких в Соби!
Ответ: Общее неудобство соби - неюзабилити! Кто-нибудь может подсказать чайнику, в какой строчке CSS можно изменить стиль заголовок полей? А то весь текст в одну большую кашу превращается
Ответ: Общее неудобство соби - неюзабилити! Мистика млин... В одних шаблонах работает в других нет Эх пардон... - вечно эти относительные пути.....