Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[cakephp] HtmlHelper link() binnen subdirectory

Pagina: 1
Acties:

  • Crysania
  • Registratie: September 2000
  • Laatst online: 15:11
ik ben net begonnen met het werken met het CakePHP framework en ben nu bezig om het blog voorbeeld van de website te testen op mijn test webserver om te kijken of het framework iets voor me is.

op mijn webserver is mijn cake installatie op http://192.168.100.31/cake/
dit is dus niet de root van de webserver maar alleen de subdirectory /cake

Dit is allemaal goed ingesteld en als ik naar http://192.168.100.31/cake/posts ga krijg ik de pagina te zien die ik gemaakt heb.

In de view file wordt gebruik gemaakt van de htmlHelper waar op een makkelijke manier links gemaakt kunnen worden.

code van de view file:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<h1>Blog posts</h1>
<p><?php echo $html->link('Add Post', '/posts/add'); ?></p>
<table>
    <tr>
        <th>Id</th>
        <th>Title</th>
        <th>Created</th>
    </tr>

   <!-- Here's where we loop through our $posts array, printing out post info -->

    <?php foreach ($posts as $post): ?>
    <tr>
        <td><?php echo $post['Post']['id']; ?></td>
        <td>
            <?php echo $html->link($post['Post']['title'], 'posts/view/'.$post['Post']['id']);?>
            <?php echo $html->link(
                'Delete',
                "/posts/delete/{$post['Post']['id']}",
                null,
                'Are you sure?'
            )?>
        </td>
        <td>
        <a href="test/test.html">a</a>
        </td>
        <td><?php echo $post['Post']['created']; ?></td>
    </tr>
    <?php endforeach; ?>

</table>


deze htmlHELPER kan op een makkelijke/snelle manier links voor je aanmaken
$html->link($post['Post']['title'], 'posts/view/'.$post['Post']['id']

maakt dus een echte link voor je aan.

De link wijst echter naar http://192.168.100.31/posts/posts/view/1 ipv de 192.168.100.31/cake/posts/posts/view/1 wat ik zou verwachten.

Ik heb wel in de .htacces file hetvolgende staan
code:
1
2
3
4
5
RewriteEngine On
    RewriteBase /cake/
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]


deze RewriteBase /cake/ moet er staan omdat anders de subdirectory niet wordt meegenomen in de rename.

Heb ik nu nog iets niet goed ingesteld of hoe krijg ik dit aan de praat?

Ik heb zelf als test een linkje aangemaakt <a href="test/test.html">a</a> in de view file en die wijst wel naar het goede path

meer informatie over het voorbeeld wat ik aan het maken ben staat op http://manual.cakephp.org/appendix/blog_tutorial

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 14:49
Ik zat er ook even mee te knoeien. Volgens mij moet er een slash voor:
PHP:
1
$html->link($post['Post']['title'], 'posts/view/'.$post['Post']['id']


moet zijn:
PHP:
1
$html->link($post['Post']['title'], '/posts/view/'.$post['Post']['id']