В течение последних 2 дней я изо всех сил пытался создать проект Meteor + React + Iron Router, который предлагает точно такую же функциональность этой базовой страницы PHP + HTML.
index.php
<?php
include('library.php');
// CREATE or UPDATE
if($_POST['save'] && $_POST['_id'])
$db('tblProject')->update($_POST);
else if($_POST['save'])
$db('tblProject')->insert($_POST);
// READ
$arrProject = $db('tblProject')->collection->find();
$arrCurrentProject = $db('tblProject')>collection->findOne(array('_id'=>$_GET['_id']));
$htmlForm = new DOMDocument();
$htmlForm->loadHTMLFile('form.html');
$input = $htmlForm->getElementsByTagName('input');
foreach ($input as $i) {
$i->setAttribute('value',$arrCurrentProject[$i->getAttribute('name')]);
}
$textarea = $htmlForm->getElementsByTagName('textarea');
foreach ($textarea as $i) {
$i->nodeValue = $arrCurrentProject[$i->getAttribute('name')];
}
?><!DOCTYPE html>
<html>
<head>
</head>
<body>
<ul>
<?php foreach($arrProject as $row) : ?>
<li><a href="<?php echo 'http://'.$_SERVER['SERVER_NAME'].'/project/'.$row['_id']; ?>">Project <?php echo $row['_id']; ?></a></li>
<?php endforeach; ?>
</ul>
<?php echo $htmlForm->saveHTML(); ?>
</body>
</html>
form.html
<form method="post">
<span>Hello this is some text</span>
<input type="text" name="input1"/>
<p>Blah blah this is boring</p>
<input type="text" name="input2"/>
<img src="image-of-a-kangaroo.png" />
<input type="text" name="input3" />
<ul>
<li>Buy brocolli</li>
<li>Buy oregano</li>
</ul>
<input type="text" name="input4" />
<textarea name="input100"></textarea>
<input type="text" name="input101" />
<p><strong>Yes, I like pizza!</strong><span>But my porcupine gets sick eating pizza.</span></p>
<button type="submit" value="save">Save</button>
</form>
Другими словами, я хочу найти базу данных для коллекции проектов, а также отобразить текущий проект, если URL-адрес /project/:_id
, Вы можете отредактировать форму или щелкнуть ссылку в списке коллекций, чтобы посмотреть другую форму.
Я прошел учебное пособие по списку Meteor + React To Do, но все еще борюсь с основами. Я до сих пор не знаю, как перестроить эту простую страницу PHP как проект «метеор + реагировать + железный маршрутизатор». Кто-нибудь может показать мне пример или перевести это для меня?
Ответ на этот вопрос, вероятно, поможет мне решить предыдущий вопрос, который я задал и который до сих пор не решен:
Meteor + React, как установить значение множества входных элементов и изменить их после
Я наконец сделал это. Ответ — комбинация кода, представленного в этом вопросе здесь:
Не удается обновить во время существующего перехода состояния
Затем обновите код с принятым ответом.
Других решений пока нет …