使用PHP分配唯一ID,每次访问都保持不变

时间:2014-01-16 19:06:18

标签: php content-management-system

好吧,我正在使用名为Pagelime的服务,这是一个在线CMS工具。为了使我的CMS能够工作,我需要为我想编辑的任何元素提供唯一的ID。

我正在制作菜单。为了便于以后编辑,我将每个菜单项设为php include,这样我就可以编辑主文件而不是大量其他文件。

HTML / PHP示例:

<!-- LENTIL SOUP -->    
<?php
$title = "Lentil Soup";
$description = "Swiss Chard / Lentils / Potatoes";
$price = "4";
include 'menuitem.php';
?>

<!-- Mujadara -->    
<?php
$title = "Mujadara";
$description = "Lentils / Rice / Carmelized Onion";
$price = "4";
include 'menuitem.php';
?>

Master“menuitem.php”PHP文件:

<h2>
<span class="cms-editable" id="???"><?php echo $title;?></span> / <?php echo $price;?>
</h2>

<h3>
<?php echo $description;?>
</h3>

正如您所看到的,我正在回应元素标题,并尝试使其可编辑。为了使用pagelime,我需要一个唯一且常量 ID。

我尝试使用<?php echo uniqid();?>,但这不起作用,因为每次重新加载页面时都会创建一个新的唯一ID。我需要一个能够始终如一地生成唯一ID的解决方案,并且每次都为正确的元素分配相同的唯一ID。

我认为这可以通过指定订单来完成,例如第一个菜单项是“menu1”,第二个是“menu2”,依此类推。我想避免这样的事情,因为它会让编辑菜单变得更加痛苦。这样做不可能吗?我无法看到计算机如何能够在没有订单的情况下区分项目。

如果有使用javascript的解决方案,请随时回答该代码。

1 个答案:

答案 0 :(得分:1)

假设菜单项标题是唯一的,我会使用:

$id = str_replace(" ","_",strtolower($title)); // lentil_soup