Роман

Роман

Был в сети 11 июля 2025, 11:54
Заказы принимаю
Ни как не хочет, display: none присваивает а поля ни очищает
$(document).on('click','a.read-more',function(e){
	e.preventDefault();
	var id = $(this).data('id') || 0;
	$("#content").load("/assets/ajax.php",{action:"getContent",id:id}, function(response){
		if (response) {
			var data = eval("(" + response + ")");
			$('#content').html(data.content)
			$('#modal-title').html(data.pagetitle);
		}
	});
	$('modal-page').hide(function(){
		$('#content').empty();
		$('#modal-title').empty();
	});
});
Да, я был не прав, говорю же после гулянки. То что ты выше написал, я сделал, все уже реализовал, вот ссылка посмотри, потом удалю
_http://remstroigrupp.ru/page под заголовком ссылка подробнее (тестовый вариант без оформления)

Просто я изначально запустил, посмотрел, а уже потом залез и посмотрел код, что у меня есть.

Тут наверное проблема в другом, что после закрытия модального окна, подгруженные данные остается на странице. К примеру у того же Битрикса он исчезает/удаляется _http://pro.bitbitrix.ru/catalog/odezhda_i_obuv/

Как это можно реализовать, или это уже лишнее?
Если тебе нужен переход по ссылке, то делай переход с передачей параметров. А там уже выводи…
Можно развернуть ответ, не совсем понял мыль!

Сорри, после гулянки, голова плохо соображает =(

Вот сайт, это на Битриксе, мне нужно сделать такое же!
_http://pro.bitbitrix.ru/catalog/odezhda_i_obuv/

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

На этой странице реализовано что данные уже при загрузке страницы загружаются, что для меня не вариант.
Только оказывается это не то, что мне нужно.

Сейчас при загрузке страницы эти данные (Ajax) подгружаются на эту же страницу.
Мне же нужно было, что бы только при клике на ссылку они подгрузились.

Где можно посмотреть, что бы подходило под мои задачи не знаешь?
К сожалению нет, тоже самое =(
Я не использую бутстрап, по этому немного другие данные. Результата нет
$(document).on('click','a.read-more',function(e){
	e.preventDefault();
	var id = $(this).data('id') || 0;
	$("#content").load("/assets/ajax.php",{action:"getContent",id:id}, function(response){
		if (response) {
			var data = eval("(" + response + ")"); //Вот тут раскидываем JSON массив
			$('#txt').html(data.content);
			$('#title').html(data.pagetitle);
		}
	}); 
});
Приветствую!

У меня выводится вот это
{"content":"","pagetitle":"\u041a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440\u044b"}
Что я делаю не так?

— 1. Создал файл /assets/ajax.php
В него поместил вышеуказанный код:
<?php
// Если запрос не AJAX или не передано действие, выходим
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || empty($_REQUEST['action'])) {exit();}

$action = $_REQUEST['action'];

define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)).'/index.php';

$modx->getService('error','error.modError');
$modx->getRequest();
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
$modx->error->message = null;

$output = '';
switch ($action) {
    case 'getContent':
        $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
        if (empty($id)) {
            exit();
        };

        $object = $modx->getObject('modResource',$id);
		$output = array();
        $output['content'] = $object->get('content');
		$output['pagetitle'] = $object->get('pagetitle');
		$output = json_encode($output);
        $maxIterations= (integer) $modx->getOption('parser_max_iterations', null, 10);
        $modx->getParser()->processElementTags('', $output, false, false, '[[', ']]', array(), $maxIterations);
        $modx->getParser()->processElementTags('', $output, true, true, '[[', ']]', array(), $maxIterations);
}

@session_write_close();
exit($output);
2. Подключен jQuery
3. Подключен JS
$(document).on('click','.read-more',function(e){
	e.preventDefault();
	var id = $(this).data('id') || 0;
	// Вставляем полученный контент в HTML блок с id="content"
	$("#content").load("/assets/ajax.php",{action:"getContent", id:id});
});

4. На странице
<a class="read-more" data-id="42" href="#content">Подробнее</a>

<div id="content"></div>
К сожалению нет, проверил на своем и другом сайте, тоже самое, падает с 500 ошибкой. Или ты чего не дописал или, возможно сниппет использует другой сниппет, который нужно установить с репозитария?

п.с. у меня сайты крутятся на php 7.0
Привет, Паша посмотри свой сниппет на этой странице bezumkin.ru/sections/tips_and_tricks/1917/ с ним что то не так, когда вывожу на странице, то сайт падает с 500 ошибкой! Пишу тут, т.к. в той теме комментарии отключены, надеюсь тут видишь. Буду очень благодарен, спасибо!
1) Удали все что есть в файле .htaccess, что бы проверить как работает сайт без каких либо правил!
2) Восстанавливай с бэкапа, сам сайт восстановить мало, нужно еще и базу ибо какие изменения внесла в админку все это хранится в базе, а не файлах!

п.с. обновить новую версию сайта старой версией не получится!