Dilma сделал компоненты DM_ruller и DataManager, но они имеют ограничение - вместе их можно использовать только один раз на странице, иначе будет неправильно работать код страницы.
Я решил обойти это ограничение и модифицировал эти два компонента, добавив немного кода и по идентификатору
Некоторые пояснения -
Для передачи номера страницы, используется переменная start, отправляемая при помощи GET-запроса.
В оригинальных компонентах эта переменная имеет одно и тоже самое название, потому при передаче запроса от одной линейки он передавался сразу всем.
Для избежания этого я ввел идентификатор, который изменяет название этой переменной и некоторых других. Т.к переменные эти не сохраняются, точнее они инициализируются либо 0, либо значением из полученного GET запроса, который не всегда будет, ведь нужно не одну линейку на странице - то я не мурдствуя лукаво просто сохраняю эти значения в coocie, по одной переменной на каждую линейку.
Что-бы все правильно работало, дополнительные идентификаторы должны совпадать в компонентах, а также идентификатор должен быть написан в 1 строке StrCat типа:
идентификатор равен 8
http://my_site/smiles_bd.php?start8=
пример с измененными компонентами:
http://guitarschems.ex6.ru/upload/lineyki_php.rar
------------ Дoбавленo в 09.00:
Ну хоть бы отписали, что это бред и валил бы я...
Этот топик читают: Гость
Ответов: 47
Рейтинг: 2
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
было бы неплохо описать именно изменения. А то не совсем понятно зачем скажем было менять что-то в DM_ruller, если он от параметра start никак не зависит(ему это значение передается в потоке). Ну а в DataManager вроде как достаточно было просто _id_ дописать ко всем вхождениям строки "start"
|
|||
карма: 27 |
|
Ответов: 47
Рейтинг: 2
|
|||
Dilma писал(а): А то не совсем понятно зачем скажем было менять что-то в DM_ruller, если он от параметра start никак не зависит(ему это значение передается в потоке)Действительно, неувидел. Просто смутило то, что в функции makePage используется одноименная переменная, вот и все. Значит, dmruller менять не нужно. Dilma писал(а): Ну а в DataManager вроде как достаточно было просто _id_ дописать ко всем вхождениям строки "start"Можно, не спорю. Но для "узнавания" значения _id_ требуется смотреть итоговый скомпилированный код, что не очень то удобно, если в теле страницы с десяток другой линеек Плюс это возможность сделать по несколько линеек на одну переменную $_GET["start"], например для вывода линейки снизу и сверху страницы с постами пользователей, так что вещь не бесполезная. Можно было вывести _id_, но я не сообразил как Описание изменений: В файле кода: 1) В функции beginForm() введена обработка переменной coocie при наличии линейки
2)Для разделения переменных к имени переменной $start приписывается значение идентификатора, который указывается в свойствах. Если идентификаторы будут совпадать в разных DataManagerax, то они будут действовать синхронно. Зачем - описано выше. В файле Datamanager.ini добавлено поле идентификатора для описанных выше целей. Если ничего не забыл, то все. |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
alikseyguitar, такое решение имеет большой минус - получается, что невозможно сделать прямую ссылку на любую страницу
------------ Дoбавленo в 20.30: да и можно пример сайта, где на одной странице выведено два листаемых списка? |
|||
карма: 27 |
|
Ответов: 47
Рейтинг: 2
|
|||
Dilma писал(а): alikseyguitar, такое решение имеет большой минус - получается, что невозможно сделать прямую ссылку на любую страницуЭто почему ? Вот пример того скрипта: http://my_site/smiles_bd.php?start1=15&start5=10 Отправка значения идет простым GET запросом, а не прямым изменением cocie. Правда, это не совсем честно, т.к генерируется в запрос только одна переменная. Но возможность есть. В AJAX и того нету А многим нравится Dilma писал(а): да и можно пример сайта, где на одной странице выведено два листаемых списка?Ну к примеру, берем какой-либо аналог социальной сети или что-то в этаком стиле - линейка прокрутки друзей, линейка прокрутки сообщений, прокрутка видео или музыки, линейка прокрутки комментариев под видеороликом, прокрутка новостной ленты и т.д. Все одно, применение найти можно, если искать. Не одними форумами жив человек |
|||
карма: 0 |
|
5